The London club took a 19th-minute lead through Steve Sidwell's deflected effort before returning Toon star Hatem Ben Arfa produced a brilliant equaliser, which also took a slight deflection, ten minutes into the second half.
A Wayne Rooney double gave United an early two-goal lead before Yaya Toure and Pablo Zabaleta leveled for City but enter Robin van Persie, who in his first Manc derby, slotted home a 92nd-minute set piece to send the victors six points clear at the top of the table.
Below the Manchester clubs sits Chelsea who beat Sunderland 3-1 thanks to a Fernando Torres double whilst Everton replaced Tottenham in fourth as Steven Pienaar scored twice in the final two minutes to beat Spurs 2-1 after Clint Dempsey's opener.
Arsenal moved from 10th to seventh with a 2-0 home win over West Bromwich Albion, who fell to sixth, thanks to two penalties from Mikel Arteta - the first one very questionable after Santi Cazorla appeared to dive.
Elsewhere, Norwich City stretched their unbeaten run to nine league matches with a thrilling 4-3 win at Swansea City, Wigan Athletic and QPR drew 2-2, Liverpool edged West Ham United 3-2 without leading scorer Luis Suarez, Southampton moved clear of the drop zone with a 1-0 home win over Reading as Stoke City held Aston Villa to a scoreless draw.
2012/13 Premier League scores
Need a VPN? Or seeking to switch? Then support Tribal Football by clicking here to sign up with our official partners NordVPN. Not only will you receive the best VPN experience, but also great discounts by signing up via Tribal Football. Thanks for your support!