Manchester City lost their first game at home in the Premier League for nearly two years, with Manchester United winning this top-of-the-table derby in the second minute of added time, as Robin van Persie scored via a deflected free kick.
City manager Roberto Mancini made the possibly risky decision to start Mario Balotelli instead of Carlos Tevez, and it was a risk that looked to pay off early on when the striker had the first saved shot of the match, with David De Gea putting a stop to an on-target free kick.
Meanwhile, United stuck by their word that Nemanja Vidic wasn't fit to play, and he looked clearly missed by the squad as Rio Ferdinand struggled to find his feet early in the match.
The challenges began hard and fast from the first minute, with United manager Sir Alex Ferguson having a word with the fourth official as fouls flew in left, right and centre.
Manchester City continued to push and dominate, but it was United who came in with the first goal, with Wayne Rooney producing a top-class finish after a successful counter attack, in which the striker turned Pablo Zabaleta and found the back of the net with an unattractive shot into the corner.
United have made a habit of falling behind in their matches this season before they contemplate scoring, and though the game had been all City until the 16th minute, United's ability to score first lifted their confidence.
Mancini was forced to adjust his tactics quickly, taking off injured captain Vincent Kompany in the 20th minute for Kolo Toure, and it wasn't a positive change for the squad as United continued to use to their counter attacking skills to their advantage, with Rooney scoring again in the 29th minute.
Antonio Valencia and Rafael de Silva linked up in style on the right to cross to Rooney, and the striker powered in his 150th Premier League goal to leave City with a big ask to comeback.
David De Gea looked commanding in goal as the first half came to an end, and while Robin van Persie had a close call on goal, City were also looking dangerous in front of the net with Gareth Barry shooting wide from 25 yards out.
The second half began with a scare for Rio Ferdinand, but Jonny Evans came off instead for Chris Smalling.
Meanwhile, another mistake from Balotelli left Mancini with no choice but to tell Carlos Tevez to warm up, and the Argentinean obliged. Balotelli walked straight down the tunnel as he was subbed off, clearly unhappy with the decision.
With United now 2-0 up, City had the onus to attack, but the Red Devils' defence was proving uncharacteristically solid.
But City were able to claw one back through Toure in the 60th minute, despite a double save from David De Gea and a controversially disallowed goal for Ashley Young moments before.
Both Tevez and David Silva's shots on goal were saved by De Gea, with the latter being a particularly skilled stoppage, but Toure was able to beat the young keeper from 15 yards out.
The Etihad was suddenly filled with hope once more, and David Silva came very close to levelling the score when his shot passed De Gea's shoulder and hit the crossbar, while van Persie was the only shining light for United before the final 10 minutes hit, coming close with a shot over the top.
Meanwhile a clash between Tom Cleverley and Toure gave City a scare. The Blues' star midfielder struggled to get back on his feet, and he eventually came off for Edin Dzeko with 10 minutes to go.
The goal City had been waiting for finally came through Pablo Zabaleta in the 86th minute, after a corner from Tevez was only half cleared by a tiring United defence. The ball fell at Zabaleta's feet and he scored through Phil Jones's legs.
Danny Welbeck came on for the four minutes of extra time in a final push by Ferguson to win the match, but it was the £24 million striker who chose United over City in the summer who proved to be the decider, with van Persie scoring off a deflected free kick to seal the win in a half that had been dominated by City.
Fans' emotions went into overdrive after the goal, with one fan taking to the pitch to confront Joe Hart while Rio Ferdinand was struck in the face by something thrown from the crowd.