Lambert glanced in a header for the opener and good build-up play from Morgan Schneiderlin and Adam Lallana set up the striker to double Saints' advantage.
He then rounded off his treble in the 73rd minute to send the Saints a point clear of West Ham, who played out a goalless draw at home to Crystal Palace.
The promotion-chasing Hammers had goalkeeper Rob Green to thank for keeping them in the game in the first half, and then some wayward finishing - substitute Sam Baldock went close twice - cost them after the break.
Reading moved into third place with a 2-0 victory at play-off rivals Middlesbrough.
Alex Pearce's knock-down was swept home by Noel Hunt via the underside of the bar to give Reading an 18th-minute lead.
A free-kick from Ian Harte 10 minutes from time then put the result beyond Boro, who slip four points behind their opponents.
Birmingham dropped a place to fourth following a surprise 2-1 loss at home to lowly Nottingham Forest.
Dexter Blackstock fired Forest in front after 29 minutes, with Chris Burke equalising for the home side 10 minutes into the second half.
However, Blackstock struck again after 63 minutes to move Forest three points clear of the drop zone.