Adam Johnson scored against his former club as Sunderland shocked Manchester City with a hard-fought victory.
City had the better of the first half as Vincent Kompany hit the bar and Simon Mignolet made good saves from Yaya Toure and David Silva.
Sunderland took the lead when Johnson cut in from the right and his 25-yard shot beat Joe Hart at his near post.
Sergio Aguero was denied late on as City fell seven points behind Manchester United in the title race.
The Black Cats dealt admirably with everything the champions threw at them in the final 10 minutes, and their margin of victory could have been greater had they shown more composure when catching City on the counter-attack.
It was a disastrous result for the visitors, who slipped further behind title rivals United as a result of the Reds coming from behind three times before eventually beating Newcastle 4-3 at Old Trafford.
City will rue a number of missed chances in the first half, while their lack of width was exposed in the second as they struggled to break down the organised and determined Black Cats.
Manchester City have lost on each of their last three league visits to Sunderland - all by a 1-0 scoreline. This equals Roberto Mancini's worst losing streak at another stadium. He also lost three in a row at Everton from 2010 to 2012.
It is the third time in as many seasons that this fixture has ended in a 1-0 victory for the hosts, who have now won three of their last four matches to move seven points clear of the relegation zone.
Such worries will not linger for too long, on the evidence of this resolute performance.
The visitors started strongly, with Kompany's header hitting the bar from a corner and Yaya Toure's follow-up shot being saved by Mignolet.
The Belgium keeper kept his side in the game with another superb save from Silva after the Spaniard had been teed up from six yards by Aguero.
The skill and movement of City's front three - Aguero, Silva and Carlos Tevez - looked like overwhelming the hosts, but Sunderland became much more compact after the half-hour.
Steven Fletcher brought a good save out of Hart before half-time as Sunderland began to show belief.
The spirit which became the foundation of their performance was epitomised when winger James McClean tracked back and denied Tevez with a superbly-timed tackle.
City looked increasingly short of ideas in the second half, and it was no surprise when Johnson gave Sunderland the lead with a left-footed shot which was deflected in by Hart.
City complained the goal should not have been allowed to stand after Pablo Zabaleta appeared to be fouled by Craig Gardner in the build-up, but their protests were waved away.
Sunderland grew in stature and, led by on-loan Spurs full-back Danny Rose's superb defensive play, they repelled almost everything City threw at them.
Aguero had a shot turned wide by Mignolet and substitute Edin Dzeko fired straight at the keeper.
At the other end, City were hanging on as Stephane Sessegnon broke clear through the middle and was denied by Hart before Fraizer Campbell shot straight at the England keeper from only six yards.
City threw on defender Joleon Lescott as an emergency striker, but it only served to highlight their desperation and lack of ideas as they slipped to their first away defeat of the season.
- 22 Mignolet
- 12 Kilgallon
- 24 Cuellar
- 03 Rose (Bardsley - 88' )
- 07 Larsson (Campbell - 78' )
- 08 Gardner
- 14 Colback Booked
- 21 Johnson
- 23 McClean
- 28 Sessegnon
- 26 Fletcher
- 20 Westwood
- 02 Bardsley
- 19 Bramble
- 15 Vaughan
- 09 Campbell
- 10 Wickham
- 11 McFadden
- 01 Hart
- 04 Kompany Booked
- 05 Zabaleta
- 28 K Toure (Barry - 86' )
- 33 Nastasic Booked
- 07 Milner
- 14 Garcia (Lescott - 89' )
- 21 Silva
- 42 Y Toure Booked
- 16 Aguero
- 32 Tevez (Dzeko - 72' )
- 30 Pantilimon
- 06 Lescott
- 44 Rekik
- 11 Sinclair
- 18 Barry
- 62 Razak
- 10 Dzeko
Live Text Commentary
Full Time The referee blows for the end of the match.90:00 +3:55
David Silva takes a inswinging corner from the right by-line played to the near post, clearance made by Carlos Cuellar.90:00 +2:47
Outswinging corner taken from the left by-line by David Silva. James Milner takes a shot from inside the box clearing the bar.89:18
Joleon Lescott takes a shot. Simon Mignolet makes a save.87:37 Substitution
Substitution Francisco Javi Garcia goes off and Joleon Lescott comes on.87:37 Substitution
Substitution Phil Bardsley on for Danny Rose.87:37
James McClean produces a left-footed shot from deep inside the penalty area which goes wide of the left-hand post.85:48
Yaya Toure takes the direct free kick.85:48 Substitution
Substitution Kolo Toure leaves the field to be replaced by Gareth Barry.85:48
Francisco Javi Garcia fouled by James McClean, the ref awards a free kick.84:20
Sergio Aguero takes a shot. Save by Simon Mignolet.83:42
Fraizer Campbell takes a shot. Save by Joe Hart.82:08
Yaya Toure challenges James McClean unfairly and gives away a free kick. Simon Mignolet takes the free kick.81:13
Danny Rose challenges Sergio Aguero unfairly and gives away a free kick. Free kick crossed right-footed by James Milner from right wing, Steven Fletcher manages to make a clearance.80:45
Sergio Aguero takes a shot. Blocked by Matthew Kilgallon.79:30
Stephane Sessegnon takes a shot. Save by Joe Hart.77:37 Substitution
Substitution Sebastian Larsson leaves the field to be replaced by Fraizer Campbell.77:37
Shot by Steven Fletcher from deep inside the penalty area misses wide to the left of the target.76:58
Edin Dzeko takes a shot. Save made by Simon Mignolet.76:00
The assistant referee flags for offside against Stephane Sessegnon. Vincent Kompany takes the indirect free kick.
Sergio Aguero takes a shot. Save by Simon Mignolet.73:15
Steven Fletcher takes a shot. Blocked by Francisco Javi Garcia. Foul by Sebastian Larsson on Yaya Toure, free kick awarded. James Milner produces a shot on goal direct from the free kick.71:44
Matija Nastasic restarts play with the free kick.71:44 Substitution
Substitution Edin Dzeko comes on in place of Carlos Tevez.71:44
Foul by James McClean on Francisco Javi Garcia, free kick awarded.70:52
Pablo Zabaleta challenges Adam Johnson unfairly and gives away a free kick. Craig Gardner restarts play with the free kick.69:56
Sergio Aguero takes a shot. Save by Simon Mignolet. Corner taken short by Sergio Aguero.66:18
James Milner takes a shot. Blocked by Danny Rose. Matija Nastasic challenges Steven Fletcher unfairly and gives away a free kick. Simon Mignolet takes the free kick.65:03
Foul by Sebastian Larsson on Carlos Tevez, free kick awarded. Free kick taken by Matija Nastasic.62:48
Unfair challenge on James McClean by Vincent Kompany results in a free kick. Craig Gardner crosses the ball from the free kick right-footed from left channel.60:42
Unfair challenge on Craig Gardner by Yaya Toure results in a free kick. Simon Mignolet takes the free kick.60:16
Outswinging corner taken from the right by-line by James Milner.60:02
Yaya Toure takes a shot. Jack Colback gets a block in.58:19
Steven Fletcher challenges Matija Nastasic unfairly and gives away a free kick. Joe Hart takes the indirect free kick.57:45
Craig Gardner restarts play with the free kick.57:45 Booking
Booking Matija Nastasic shown a yellow card.57:39
Matija Nastasic gives away a free kick for an unfair challenge on Steven Fletcher.54:37
Effort from the edge of the area by Stephane Sessegnon goes wide of the left-hand post.52:58
The assist for the goal came from Carlos Cuellar.52:58 Goal scored
Goal! - Adam Johnson - Sunderland 1 - 0 Man City Adam Johnson finds the net from 35 yards. Sunderland 1-0 Man City.52:06
Free kick awarded for an unfair challenge on Stephane Sessegnon by Francisco Javi Garcia. Simon Mignolet takes the indirect free kick.49:40
Corner taken by Sebastian Larsson, Matija Nastasic makes a clearance. Unfair challenge on Matija Nastasic by Steven Fletcher results in a free kick. Free kick taken by Joe Hart.49:09
Inswinging corner taken from the right by-line by Adam Johnson.47:58
Inswinging corner taken from the left by-line by David Silva, Yaya Toure takes has a header from just inside the penalty box which clears the crossbar.45:01
The game restarts for the second half.45:00 +1:20 Half time
Half Time The ref blows to end the first period.43:40
Direct effort from the free kick comes in from Sebastian Larsson, blocked by Vincent Kompany. Shot from just outside the penalty box by Sebastian Larsson misses to the left of the target.43:40 Booking
Booking Yaya Toure goes into the book for dissent.42:52 Booking
Booking Vincent Kompany is cautioned by the ref for unsporting behaviour.42:43
Vincent Kompany challenges Stephane Sessegnon unfairly and gives away a free kick.41:57
Free kick awarded for a foul by Yaya Toure on Stephane Sessegnon. Indirect free kick taken by Matthew Kilgallon.40:58
Header by Stephane Sessegnon from deep inside the penalty area misses to the right of the target.39:42
Indirect free kick taken by Yaya Toure.39:42 Booking
Booking Jack Colback is shown a yellow card for unsporting behaviour.39:35
Jack Colback challenges Sergio Aguero unfairly and gives away a free kick.37:28
Free kick awarded for an unfair challenge on Jack Colback by Yaya Toure. Simon Mignolet takes the indirect free kick.35:38
James McClean fouled by Carlos Tevez, the ref awards a free kick. Indirect free kick taken by Matthew Kilgallon.32:25
Free kick awarded for a foul by Craig Gardner on Pablo Zabaleta. James Milner crosses the ball from the free kick right-footed from left wing, clearance made by Craig Gardner.28:58
Vincent Kompany challenges Stephane Sessegnon unfairly and gives away a free kick. Indirect free kick taken by Danny Rose.28:09
James Milner produces a right-footed shot from just outside the area that goes harmlessly over the bar.27:11
Danny Rose concedes a free kick for a foul on Sergio Aguero. Kolo Toure takes the free kick.24:40
Steven Fletcher takes a shot. Joe Hart makes a save. Inswinging corner taken from the left by-line by Sebastian Larsson, clearance by Francisco Javi Garcia.24:05
The assistant referee signals for offside against Carlos Tevez. Free kick taken by Simon Mignolet.23:46
David Silva takes a shot. Save made by Simon Mignolet.18:50
Sergio Aguero concedes a free kick for a foul on Danny Rose. Direct strike on goal from the free kick comes in from Craig Gardner.16:35
Vincent Kompany takes a shot. Carlos Cuellar gets a block in.16:04
James Milner takes a outswinging corner from the right by-line played to the near post.15:09
James Milner concedes a free kick for a foul on Stephane Sessegnon. Danny Rose restarts play with the free kick.13:45
Unfair challenge on James Milner by Stephane Sessegnon results in a free kick. Free kick taken by Kolo Toure.12:22
Yaya Toure takes a shot. Save by Simon Mignolet.10:39
Steven Fletcher is adjudged to have handled the ball. Direct free kick taken by Vincent Kompany.9:43
Sebastian Larsson concedes a free kick for a foul on James Milner. Shot comes in from David Silva from the free kick.7:07
Outswinging corner taken left-footed by Vincent Kompany, Francisco Javi Garcia takes a shot. Volleyed left-footed shot by Yaya Toure. Save made by Simon Mignolet.5:47
Francisco Javi Garcia gives away a free kick for an unfair challenge on Steven Fletcher. Direct free kick taken by Craig Gardner.3:49
Adam Johnson fouled by Pablo Zabaleta, the ref awards a free kick. The free kick is delivered left-footed by Adam Johnson from right wing, Vincent Kompany manages to make a clearance.2:07
Adam Johnson gives away a free kick for an unfair challenge on Pablo Zabaleta. Direct free kick taken by Joe Hart.1:31
Effort from the edge of the box by Sergio Aguero goes wide of the right-hand upright.0:21
Free kick awarded for an unfair challenge on Sergio Aguero by James McClean. Free kick taken by Yaya Toure.0:00
The game begins.
Live data and text provided by our data suppliers