Lampard’s trademark finish from 10 yards put City 1-0 up just after the half-hour mark, having been made captain by manager Manuel Pellegrini on just his 10th league start for the club.
Premier League top-scorer Sergio Aguero added the second late on from close range, his 26th goal of the season in the division.
The result leaves City seven points short of last season’s total with 79, while Southampton finish seventh, and must hope Arsenal beat Aston Villa in Saturday’s FA Cup final to secure a Europa League qualifying spot despite their highest-ever Premier League finish.
Saints needed a win to guarantee Europa League football, and after a slow start, Joe Hart was the first to make a save, getting down low to block Shane Long’s effort from 12 yards on the left.
At the other end, Aguero had two chances in two minutes to give City the lead, first slicing an effort high and wide from an angle, before failing to beat Kelvin Davis from four yards after Yaya Toure’s low effort had been parried into the Premier League top scorer’s path.
But City were ahead on 31 minutes, Lampard turning home with his left foot into the roof of the net from James Milner’s precise cutback on the right.
Aguero nearly doubled City’s lead three minutes later, but again Davis was equal to his effort after being put through on goal by David Silva.
Saints nearly equalised just before the break, but Graziano Pelle’s shot from 12 yards under pressure from Milner flew just wide.
The visitors started the second period brighter but waited until the 74th minute for another chance. Two came at once, as Sadio Mane’s header at the back post failed to beat Hart, before Long’s low left-footed effort was easily saved.
Each of Manchester City’s three substitutions in the second half received a standing ovation from the home crowd, with Toure and Milner, whose futures at the club remain unknown, coming off either side of Lampard.
Aguero finally got his goal in the 88th minute, a ninth in seven games for the Argentine, nodding into an empty net at the far post from Eliaquim Mangala’s header across the six-yard box.
It marked the 26-year-old’s best-ever season for the club, scoring 32 goals in all competitions in 2014/15.
Man City: Hart (6), Zabaleta (6), Demichelis (6), Mangala (6), Kolarov (6), Fernandinho (6), Lampard (8), Milner (8), Toure (7), Silva (7), Aguero (6).
Subs: Kompany (5), Bony (5), Jesus Navas (5).
Southampton: Kelvin Davis (7), Clyne (5), Fonte (6), Alderweireld (5), Bertrand (6), Wanyama (5), Steven Davis (6), Long (6), Djuricic (6), Mane (7), Pelle (5).
Subs: Ward-Prowse (6), Elia (5).
Man of the match: Frank Lampard.