The Argentina forward grabbed his 10th league goal of the campaign as the Blues moved back to within six points of leaders Chelsea
Aided by Chris Smalling's sending off during a goalless opening period at the Etihad Stadium, Manuel Pellegrini's men took control after the interval as Sergio Aguero grabbed the decisive goal, his 10th in the league this season.
The Argentina striker's effort condemned United to a fourth successive league loss to their rivals for the first time since 1970 and ensured Louis van Gaal was defeated in his maiden all-Manchester clash.
Anticipation was high as City attempted to end a three-game winless run in all competitions and their hopes were raised towards the end of a breathless first half, with Smalling given his marching orders after picking up two stupid yellow cards.
That, combined with centre-back partner Marcos Rojo being withdrawn through injury in the 56th minute, proved crucial as the hosts took the points.
City, already without star man David Silva, were dealt another blow when Aleksandar Kolarov limped off in the warm-up, with Gael Clichy coming into the XI.
United had full-back issues of their own after Rafael da Silva picked up a knock in training to leave Antonio Valencia in an unfamiliar role.
Valencia was immediately tested, too, beaten by Aguero - who subsequently forced a first save from David de Gea.
But United responded quickly, Adnan Januzaj volleying just wide after being teed up by Robin van Persie's cushioned header.
The visitors continued to look threatening, with the likes of Angel di Maria and Wayne Rooney - back from suspension - buzzing around in dangerous areas.
Yet the game then took on an end-to-end nature, with De Gea making world-class saves to deny Jesus Navas and Aguero in quick succession.
A decisive moment came in the 38th minute, however, when Smalling - who had already picked up a cheap yellow card for impeding Joe Hart as the City goalkeeper attempted to punt downfield - flew into an ill-judged challenge on James Milner.
The first-half drama did not stop there, with City twice seeing loud penalty appeals turned down following challenges from Marouane Fellaini and Rojo.
City were unsurprisingly positive at the start of the second period, epitomised by Pablo Zabaleta finding himself in the United box to volley over.
And soon after being denied another penalty, Aguero gave City a 63rd-minute lead by coolly side-footing home Clichy's pull-back after Yaya Toure had freed the left-back.
Fellaini twice went close from set-pieces and Toure missed two golden chances, curling wide and heading over.
But City, who remain third in the table, held on to claim the points and leave United just inside the top 10.