Manchester City 2 Manchester United 3: Oh, Manchester, so much to answer for: coins thrown, blood spilled, fans goaded and pitch invasions. But do not pretend that you did not enjoy every last tackle made, goal scored and harsh word exchanged in English football's new marquee fixture.
It goes without saying that if it turns out a supporter is charged with racist abuse then that is something we can all condemn. The blood streaming down Rio Ferdinand's face at the end, hit by a coin from the crowd, was not English football's finest hour. Yet none of that could detract from the compelling tension of a game that Manchester City wrestled back from their despised rivals only to lose to Robin van Persie's moment of brilliance in injury time.
Blood, sweat and jeers. Fear and loathing. Tom Cruise in the VIP seats. Manchester's day of thunder. It is remarkable that this Manchester United side find themselves six points clear at the top of the Premier League, a lead for which they can thank, in part, the poor form of City and Chelsea among others. Yesterday came down to the finest of margins, a Van Persie free-kick that struck Samir Nasri's shin on the way in, but there was so much more before then.
Mancini got it wrong by picking Mario Balotelli, a player to whom he offered another one of those apocalyptic post-match warnings about squandered talent and wasted careers. "I saw players in my life with fantastic quality and they did nothing," Mancini said in relation to his maverick striker at the end of the game. But this was not the time for advice, it was the time to win a derby match and Balotelli let his manager down.
Balotelli was eventually replaced by Carlos Tevez on 52 minutes, the man who should have started the game and City promptly responded with two goals that pulled them back into the match. By the end of it, with Tevez and the eternal substitute Edin Dzeko on the field, City might even have won the game. Certainly they looked a better side with Tevez on the pitch.
Granted it was Tevez who fouled Rafael da Silva for the free-kick from which Van Persie scored. But if any confirmation was needed of Balotelli's rotten attitude for a game like this, it was the moment that he walked off the pitch and went straight down the tunnel having stared belligerently at Mancini as he went. The striker seems unable to handle these big games, at least not on a consistent basis. This was a day for keeping your nerve.
Rooney picked City off with goals on 16 minutes, and then just before the half hour, In between then, Mancini replaced his injured captain Vincent Kompany with Kolo Touré who came on to charge around with all the unrestricted brio of a triallist playing for a contract. Kolo Touré did not react quickly enough for the second goal made by Antonio Valencia and Rafael on the right wing, and finished by Rooney.
Before then United had broken brilliantly down the left for the first goal. Van Persie twisted to chest the ball to Ashley Young who cut inside from the touchline and picked out Rooney through a crowd of City legs. Rooney's shot was struck into the turf but he had done enough to deceive Joe Hart who seemed to be reading the striker's eyes rather than anticipating the unusual choice of a shot inside the left post.
At two-goals up, United looked dominant. They might even have had more while City's best chances in a good period for them at the start of the game were a distant memory. Balotelli had an awkward waist-high volley from Gaël Clichy's cross on 11 minutes, a difficult shot for any even the most gifted player, but you could not help but feel he might have done a better job than the blast into the crowd.
After the break Tevez was the game-changer for City and involved in the best of what they did. United should have had a third goal just before the hour. Van Persie hit the post and when the ball came out Young tucked in the rebound. He was played onside by Pablo Zabaleta, the linesman called it wrong and flagged. Having gone from a potentially unassailable position, United were dragged back into it.
Yaya Touré scored City's first after David de Gea had saved twice from Tevez and David Silva, the former of those two then cutting it back to City's barnstormer of a midfielder for his goal. No-one storms a barn quite like Yaya Touré, although his run on 73 minutes was one of the best. He beat Tom Cleverley, Rooney and Rafael before referee Martin Atkinson spoiled the party by calling play back for a foul by Rooney.
In the meantime, the game produced moment after moment. A tackle on Sergio Aguero by substitute Chris Smalling, on for the injured Jonny Evans, may have included a handball by the United man. A foul on Patrice Evra by Kolo Touré, increasingly resembling the prize bull let lose at a village fête, should have been a penalty judging by the replays.
Nevertheless, in those closing stages it seemed like City could win it. Silva's shot hit De Gea and then struck the bar. Then, with four minutes of regular time left, Zabaleta equalised with a low shot from a corner that clipped the substitute Phil Jones on its way in.
Then came Van Persie's winner, in off Nasri who did a poor job of trying to block it. A City supporter ran onto the pitch, making it as far as Ferdinand and then thinking better of it. The most half-hearted pitch invasion in history was brought to a close when Hart shepherded the fan away. United celebrated victory in front of their fans like they were taking the Premier League trophy home that day. That was how much it meant to them.
As he left the pitch, Jones resumed his exchange with a City fan holding up a sign designed to remind United of those painful last few minutes at Sunderland last season when they saw the league title slip through their hands. It was not as if these two sides had any shortage of aggravation between them before yesterday. They have a whole lot more now.