Van Persie free-kick sends United six clear
Victory in their neighbours' backyard, at an Etihad Stadium where City had not lost in the league for almost two years, sent Sir Alex Ferguson's side six points clear of their opponents at the top of the table in what already looks like a two-horse race.
Two first-half goals from Wayne Rooney had put United ahead before City pulled level thanks to Yaya Toure and Pablo Zabaleta, only for Van Persie to shatter their comeback.
It was payback time for United, who were denied a 20th English title in the final seconds of last season when City grabbed the championship on goal difference after two stoppage-time goals.
On top of that, their winner came from a player City had courted before his close-season move from Arsenal to the red side of Manchester and it completed a miserable week for Roberto Mancini's side who crashed out of Europe on Tuesday.
Van Persie's 11th league goal of the season could end up being one of the most important if last term is anything to go by when City won both Manchester derbies, including a 6-1 demolition of United at Old Trafford, on their way to the title.
"Today was special because they hadn't lost at home for two years and both of us are contending at the top of the league," Ferguson, whose side have 39 points from 16 games to City's 33, told Sky Sports.
"It was a fantastic game and you couldn't take your eyes off it. We should have killed the game off but it's a funny game football, instead of being 3-0 it was 2-1 and it got the fans going."
United's celebrations were marred, though, when defender Rio Ferdinand was left bloodied above his left eye after being struck by an object thrown from the crowd in an incident that police said they were investigating.
The "Champ1-0ns" banner taunting the United fans summed up the significance of this match, referring to the 1-0 victory by City over their neighbours at the Etihad Stadium late last season which tilted the title race in their favour.
While City manager Mancini was confident they could still catch their rivals, and they overturned an eight-point gap with six games to play last season, he was frustrated to have conceded so late.
"It is a bad feeling in this moment. When you lose a derby in the last second, it is very difficult," the Italian, whose side had not lost at home in the league since December, 2010, told a news conference.
"We have the spirit to recover these six points. We need to do four or five wins in a row."
It was City who made the better start on a sunny afternoon in Manchester, with Mario Balotelli sending a good chance flying well over the bar.
But United caught City and, in particular, keeper Joe Hart by surprise on their first foray forward.
Winger Ashley Young set up Rooney, who struck a tame shot that Hart appeared to think was going wide but that trickled, almost in slow motion, into the bottom corner.
City's problems were compounded when captain and centre back Vincent Kompany was forced off the field with a groin injury after 20 minutes.
The champions failed to learn from the opening goal and were again caught out by a swift United counter-attack as Antonio Valencia and Rafael combined well on the right to cross to the unmarked Rooney who finished comfortably.
Mancini sent on Carlos Tevez seven minutes into the second half, taking off the ineffectual Balotelli who looked unimpressed as he headed down the tunnel and earned stern words from his manager.
"I love Mario as a guy, also as a player but I think it is important for him to start to think [about] his job if he wants to play. He can't continue to play like today, we wanted more from him," Mancini said.
Balotelli's replacement, former United striker Tevez, made a swift impact.
Just after United had been unfortunate not to kill off the game when Van Persie smashed a shot against the crossbar and Young's rebound was ruled offside, City got themselves a lifeline.
First Tevez, then David Silva forced United keeper David de Gea into excellent saves before Tevez found Toure who slotted home to ignite a sense of belief among home fans and a sense of urgency among his team-mates.
Silva went close with a shot deflected on to the bar and City equalised four minutes from time when Zabaleta's firm low shot flew past a cluster of players and into the net.
But it was United who got the happy ending when Van Persie stepped up to take a free-kick with just a few seconds remaining and sent it past Hart via a deflection off the boot of Samir Nasri.
A thrilling match was marred by the sight of blood gushing down the face of United defender Ferdinand after he was hit while celebrating the goal.
"What you saw happened to Rio should not happen on a football pitch," Van Persie said.