Each of the three goals City conceded came from an error. Barry gave the ball away in midfield to allow Jason Puncheon to break away in the seventh minute.
The winger played in Jay Rodriguez, whose shot was blocked by Hart, but the ball broke back to Puncheon to open the scoring.
Before City had even started to gain a foothold in the game, it was 2-0. Rickie Lambert's fierce shot was spilt by Hart, with the ball dropping between the England No 1's legs and into an empty net.
City found their way back into the game just before the break as slack defending, this time from the home side, allowed Pablo Zabaleta to find space down the right. The Argentine right-back crossed for Edin Dzeko, whose finish fortuitously bounced into the far corner.
The goal, six minutes before half time, appeared to have set the second period up for a City onslaught on the Southampton goal, but Mauricio Pochettino's side took the wind out of the visitors' sails by going 3-1 up on 48 minutes.
And it was a howler that will be replayed many times.
Lambert's cross from the left of the area failed to find its target, but Barry, under no pressure, inexplicably sidefooted the ball into the bottom corner of his own net, seemingly trying to play a back pass to Hart.
The defeat denied City the chance to close the gap on Premier league leaders Manchester United to six points and instead their city rivals can open up a 12-point advantage should they beat Everton at Old Trafford today.
The victory for the Saints - their first in five games - puts them into 15th place, six points above the relegation zone.
Tottenham Hotspur 2 Newcastle United 1
Tottenham: Bale 5’, 78’
Newcastle: Gouffran 25’
Andre Villas-Boas said Gareth Bale leaving Tottenham would have the same effect as Lionel Messi leaving Barcelona after the winger’s brace. “Most teams have to hang on to their best players, Barcelona losing Messi would be a disaster ... so this is exactly the same,” he said.
Norwich City 0 Fulham 0
Norwich City missed out on a chance to leapfrog Fulham in the table after a goalless draw at Carrow Road. Luciano Becchio, the new signing, was handed his first start after captain Grant Holt was withdrawn after suffering a back spasm before the game. The Argentine had a couple of chances to open his Canaries account, but failed to test Mark Schwarzer in Fulham’s goal.
Sunderland 0 Arsenal 1
Arsenal Cazorla 36’
Red card Carl Jenkinson (Arsenal)
Santi Cazorla’s lone strike helped 10-man Arsenal to victory at Sunderland after defender Carl Jenkinson was sent off. Cazorla’s strike was one of few lapses by the Black Cats goalkeeper Simon Mignolet as Arsene Wenger’s side survived an onslaught in the last half hour.
Swansea City 4 QPR 1
Swansea Michu 8’, 67’, Rangel 18’, Hernandez 50’
QPR Zamora 48’
Michu grabbed two goals as Swansea inflicted another heavy defeat on relegation-threatened QPR at the Liberty Stadium. Michu returned to scoring form as his double took his league tally to 15 for the season.
Follow us @SprtNationalUAE