Sunderland players mob goalscorer, Adam Johnson
Manchester United extended their Premier League lead to seven points with a thrilling win over Newcastle, while rivals City lost ground after going down to a shock 1-0 defeat at Sunderland.
James Perch gave the visitors an early lead when he pounced from close range before Jonny Evans equalised in similar fashion and then inadvertently turned into his own net.
Patrice Evra levelled matters with a low drive before Papiss Cisse's superb shot made it 3-2 to the Magpies, reports the BBC.
Robin van Persie equalised with a drive before Javier Hernandez clinched it.
And 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.
Mignolet denied Sergio Aguero and Edin Dzeko late on, but Stephane Sessegnon and Fraizer Campbell also went close.
In other games, Chelsea closed the gap on City to just four points after beating Norwich 1-0, Everton beat Wigan 2-1, Reading played goalless with Swansea and QPR remained rooted to the foot of the table after losing 2-1 to West Brom.
Everton 2 - 1 Wigan
Fulham 1 - 1 Southampton
Man Utd 4 - 3 Newcastle
Norwich 0 - 1 Chelsea
QPR 1 - 2 West Brom
Reading 0 - 0 Swansea
Sunderland 1 - 0 Man City