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