Manchester City came from behind to beat Manchester United 3-1 in the derby at the Etihad courtesy of a dazzling display from Phil Foden.
The home side may have dominated the majority of the first half but they went into the break chasing a one-goal deficit, Marcus Rashford's wonderful piledriver putting Man Utd ahead after just eight minutes.
However, Foden produced a stunner of his own to equalise, before completing his brace with ten minutes to play to take the game beyond United. Erling Haaland wrapped up a crucial three points with a late strike, keeping Man City within touching distance of Liverpool ahead of next week's showdown.
How the game unfolded
It may have been the hosts that made the quicker start to proceedings, but it was Man Utd who took an early lead against the run of play at the Etihad. Bruno Fernandes collected a long ball upfield by goalkeeper Andre Onana, laying off for Rashford to hammer home a simply sensational strike from 25 yards that clipped the underside of the crossbar on its way in.
Rashford's venomous effort unnerved the reigning champions slightly, although Foden was quick to test Onana with a low drive that the goalkeeper rebuffed with his feet. The Man City forward should have levelled several minutes later after being released by Kevin De Bruyne, but his strike couldn't make it past the Man Utd stopper.
The Cameroon international was alert once again to turn a teasing Rodri effort past the post, but it was the surprising wastefulness of Erling Haaland on the stroke of half-time that proved most costly for Pep Guardiola's side. Foden's header found the Norwegian four yards out with an open goal in front of him, but the Man City forward, who scored five midweek against Luton Town, inexplicably turned the simplest of chances over the crossbar.
Given how accomplished the Cityzens are at overcoming deficits, there was little surprise when they drew level just ten minutes after the restart. It was Foden who grabbed the equaliser for the hosts, matching Rashford's stunning first-half strike with a beauty of his own after hammering past Onana with a fierce thunderbolt from outside the penalty area.
Man City continued to probe as they looked to complete the comeback and it was Foden who eventually grabbed a deserved winner for the champions. The attacking dynamo played a one-two with Julian Alvarez, firing a low effort beyond the outstretched glove of Onana to win derby day for the hosts.
Despite a woeful miss earlier in the match, Haaland was able to get on the scoresheet in stoppage time, capitalising on a Sofyan Amrabat error and curling in a third to put the icing on the cake for Man City.
The result moves Man City back to within a point of league leaders Liverpool following the Reds' late win against Nottingham Forest on Saturday.
Man City player ratings (3-2-4-1)
GK: Ederson - 6/10 - Helpless for Rashford's ridiculous strike and was otherwise untested.
CB: Kyle Walker - 7/10 - Used his blistering pace to deny a promising Rashford counter-attack in the first half, frequently mopping up for City.
CB: Ruben Dias - 7/10 - Marshalled the Man City backline effectively, snuffing out United's half-chances on the break.
CB: Nathan Ake - 7/10 - Struggled a little in the opening stages but grew into the game.
DM: Rodri - 8/10 - Typically metronomic in central areas and kept man City ticking along deep in United territory.
DM: John Stones - 7/10 - Spent the majority of the match in midfield despite dropping into centre-back on occasion and helped City win the ball back swiftly.
RM: Bernardo Silva - 7/10 - Neat and tidy from the Portuguese, even if he was on the edge of things at times.
CM: Kevin De Bruyne - 6/10 - A shade off the pace with some uncharacteristically sloppy moments in the final third.
CM: Phil Foden - 9/10 - The 23-year-old has been the man for the big occasion this season and proved how indispensable he is at the Etihad. A stunner got Man City back in the contest and he doubled his tally with a sweet finish to win the game.
LM: Jeremy Doku - 5/10 - Looked on the cusp of creating something for Man City throughout, but couldn't produce any end product as he was well handled by Diogo Dalot.
ST: Erling Haaland - 7/10 - Blazed one over the bar with the goal gaping from four yards, but redeemed himself late on with a calm finish.
Substitutes
SUB: Julian Alvarez (59' for Doku) - 7/10
SUB: Oscar Bobb (90' for Foden) - N/A
Subs not used: Stefan Ortega (GK), Manuel Akanji, Josko Gvardiol, Rico Lewis, Sergio Gomez, Matheus Nunes, Mateo Kovacic.
Manager
Pep Guardiola - 7/10 - His side dominated from start to finish and eventually secured three points despite a nervy first half. The Spaniard has plenty of game-changers at his disposal.
Man Utd player ratings (4-2-3-1)
GK: Andre Onana - 7/10 - Made some important saves throughout and effectively employed the dark arts for the visitors. Perhaps could have been stronger for Foden's second.
RB: Diogo Dalot - 7/10 - Held his ground against Doku and made a conscious effort not to dive into tackles with the Belgian.
CB: Raphael Varane - 6/10 - Largely matched Haaland and used all his experience to command the United penalty area. Ran out of steam in the end.
CB: Jonny Evans - 7/10 - Thrust into the action to help deny the largely unstoppable Haaland and the 36-year-old performed remarkably well up against the Norwegian before being withdrawn.
LB: Victor Lindelof - 6/10 - After a pretty dismal showing against Fulham last weekend, it was a better outing for the Swede. Arguably could have got closer to Foden before his goal.
CM: Kobbie Mainoo - 7/10 - An impressive debut Manchester derby, breaking up play regularly in central areas.
CM: Casemiro - 7/10 - Rolled back the years with a composed display, with United's deep line protecting his ageing legs. However, he was turned easily for Foden's second.
RM: Bruno Fernandes - 6/10 - Set Rashford's opener up with some neat play and was committed in his defensive duties.
AM: Scott McTominay - 5/10 - Rarely able to make attacking runs beyond Rashford in attack, spending the majority of the match defending his own final third.
LM: Alejandro Garnacho - 5/10 - A quiet outing from the Argentine, who wasn't given too much freedom to bomb forward.
ST: Marcus Rashford - 7/10 - He won't have produced many, if any, better strikes, with the forward slamming home a stupendous effort to silence the critics. The rest of his game was a little unpolished, however, as he struggled to hold the ball in the Man City half.
Substitutes
SUB: Willy Kambwala (69' for Evans) - 6/10
SUB: Antony (74' for Rashford) - 5/10
SUB: Omari Forson (82' for Garnacho) - 6/10
SUB: Sofyan Amrabat (82' for Mainoo) - 4/10
Subs not used: Altay Bayindir (GK), Habeeb Ogunneye, Toby Collyer, Christian Eriksen, Amad Diallo.
Manager
Erik ten Hag - 6/10 - Employed a simple counter-attack strategy that was largely effective for 70 minutes. His side simply didn't have enough quality to match City in the closing stages.