Chelsea closed the gap in third place with a 1-0 win at Norwich, while Everton defeated Wigan 2-1.
James Perch gave Newcastle an early lead before Jonny Evans equalised and then inadvertently turned the ball 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. Robin van Persie equalised with a drive before Javier Hernandez clinched it on the dot of full time.
City failed to keep pace as they stumbled to a 1-0 defeat at Sunderland, thanks to Adam Johnson, who struck the killer blow against his former club as the Black Cats made it three wins from four.
Chelsea are hot on Cityâ€™s heels after they claimed a third straight win with a 1-0 win over Norwich City. Juan Mata scored the only goal of the game to sink the Canaries.
Everton continued their challenge for the Champions League places as they beat Wigan Athletic 2-1 at Goodison Park. Phil Neville celebrated his 500th Premier League appearance with three points thanks to goals from Leon Osman and Phil Jagielka.
Rickie Lambert scored a late equaliser from the penalty spot to earn a 1-1 draw for Southampton at Fulham. Dimitar Berbatov had given Fulham the lead.
Queens Park Rangers slipped back to the bottom of the Premier League table as they lost 2-1 at home to West Bromwich Albion.
Kick-off was delayed by 15 minutes after the Baggiesâ€™ coach got stuck in traffic, but the visitors got off to a rapid start as Chris Brunt opened the scoring with a well-struck effort from 30 yards. QPR keeper Robert Green palmed the ball into his own net after Anton Ferdinandâ€™s headed clearance dropped under the bar.