Southampton handed Manchester City a lesson in finishing as they plunged their hosts further towards relegation.
City wasted a number of scoring opportunities, with striker Nicolas Anelka guilty of some poor misses.
Southampton made City pay when James Beattie headed in a Marian Pahars cross and Beattie then flicked on for Kevin Phillips to head a second.
A tap-in from Anelka gave City hope but it only lasted three minutes as Phillips broke away to fire home.
Kevin Keegan was back in charge of City after missing four games with back trouble, but he failed to inspire his slumping side as their alarming home form continued.
Southampton looked dangerous in the early stages with Daniel Prutton finding Phillips in the box, but Richard Dunne did well to get back and intervene.
City keeper David James almost gifted the Saints a goal when he completely fluffed a backpass from Michael Tarnat.
17 mins: Anelka wastes a good chance to put City in front
34 mins: Beattie heads Saints in front
55 mins: Beattie and Phillips combine to double Southampton's lead
78 mins: Anelka taps in to give City hope
81 mins: Phillips gets his second to seal the victory
Prutton almost made the England number one pay, but the angle was too tight for him to find the net.
City gradually grabbed control and should have gone in front when Robbie Fowler released strike partner Anelka.
But the Frenchman spurned a simple one-on-one chance by putting his right-foot shot the wrong side of the post.
Anelka was not having the best of times and after a good run he found himself in a good shooting position, but he screwed his effort horribly wide and out for a throw-in.
City were made to pay when Rory Delap found the recalled Pahars and his cross was met with power and precision at the near post by Beattie for his 16th of the season.
Saints could have added a second just before half-time from an inswinging free-kick by Graeme Le Saux, Danny Higginbotham beating James to the ball but seeing his header fly just over the bar.
Anelka's miserable afternoon continued after the break as he had a penalty protest turned down when Claus Lundekvam shrugged him to the floor as he tried to latch onto Fowler's lofted pass.
A goalmouth scramble in the Saints box led to the ball falling to Anelka, whose shot was deflected and looped towards goal only for Antti Niemi to somehow swing a boot at the ball and clear with Fowler ready to pounce.
The hosts again fell victim to the sucker-punch with a Delap long throw flicked on by Beattie and Phillips had the simple task of heading past James.
City grabbed a lifeline when substitute Paulo Wanchope beat Niemi and cut it back for Anelka, who this time could make no mistake.
But three minutes later it was all over for City as a Paul Telfer clearance put Phillips clean through on goal and he comfortably held off Sun Jihai before beating James.
City have now won just one of their last 12 Premiership matches at the City of Manchester Stadium and are just two points above the drop zone.
Man City: ames, Jihai, Dunne, Distin, Tarnat, Wright-Phillips,
Bosvelt (Reyna 61), Sibierski, McManaman (Sinclair 11), Anelka,
Fowler (Wanchope 60). Subs not used: Arason, Macken.
Southampton: Niemi, Telfer, Lundekvam, Higginbotham, Le Saux,
Prutton, Folly, Delap, Pahars (Anders Svensson 84),
Beattie (Hall 89), Phillips. Subs not used: Smith, Fernandes, Ormerod.
Referee: G Barber (Hertfordshire).