Fulham came into the match with just one win in 10 matches but got off to the best possible start at Craven Cottage, taking the lead inside eight minutes.
Kelvin Davis could only fumble a Sascha Riether cross into the path of Dimitar Berbatov, who duly slotted home off balance at the far post.
However, Southampton grabbed a late leveller when Chris Baird was adjudged to have handled a Gaston Ramirez corner, allowing Lambert to continue his 100 per cent success rate from the spot five minutes from time.
Steven Sidwell should have given Fulham a third-minute lead but the midfielder's low strike from the edge of the box went just wide.
However, Riether's low driven ball from the right was fumbled by goalkeeper Davis, allowing Berbatov to slot home unmarked.
Southampton's first opportunity took 20 minutes to create, with a fierce Jack Cork strike from 25 yards well dealt with by Mark Schwarzer.
Fulham almost had a second goal gifted to them by Luke Shaw when the left-back's uncharacteristic slip allowed Ashkan Dejagah through on goal, but the winger fired well wide.
Dejagah also saw a cross-shot flash wide, with Brede Hangeland having an effort blocked soon after.
Saints, though, were proving a thorn in Fulham's side, and an equaliser came in the 85th minute. Ramirez floated in a corner from the left and Baird was adjudged to have handled under pressure from Lambert, who stepped up to fire into the top left-hand corner.