Manchester City beat Manchester United 2-1 to extend their perfect start to the Premier League season and end that of their local rivals in an entertaining and action-packed encounter at Old Trafford.
City, who handed a debut to goalkeeper Claudio Bravo and started Kelechi Iheanacho in place of the suspended Sergio Aguero, dominated the early exchanges with United looking nervous and out of sorts.
Pep Guardiola's side took the lead in the 15th minute, although in an unconventional manner. A long ball from left-back Aleksandar Kolarov was headed on by Iheanacho into the path of Kevin De Bruyne, who took advantage of hesitation from Daley Blind to put the visitors in front.
From there, City continued to control the game and United, who started with Henrikh Mkhitaryan and Jesse Lingard in place of Juan Mata and Anthony Martial, could not live with the high-tempo style of their rivals.
De Bruyne's intelligent movement and use of the ball was central to a City side that looked sharper and hungrier than the hosts, and it was the Belgium international's work that created a second goal for City after 35 minutes.
Turning into space in the box he shot across the face of goal and struck the inside of the post. Iheanacho, played onside by Blind, pounced on the rebound to double City's advantage and give them what looked like a decisive lead.
But a defensive error from City gave United a glimpse of hope before half-time. Bravo, clashing with John Stones, fumbled a long free kick from Wayne Rooney and Zlatan Ibrahimovic accurately volleyed home through a crowd of City players to reduce the deficit.
In added time at the end of the half, United showed their confidence was rising when a cross from Rooney found Ibrahimovic unmarked but his header was collected by Bravo.
Mourinho reacted to United's first half performance by making two changes at the break, substituting Mkhitaryan and Lingard for Marcus Rashford and Ander Herrera.
And within 60 seconds Rashford announced his arrival, turning Bacary Sagna before crossing for Ibrahimovic to shoot over as United made a high-octane start to the second half, pressing and harrying City in an attempt to stop the possession game that had seen them take the upper hand in the first half.
Guardiola reacted by replacing Iheanacho for defensive midfielder Fernando, leaving City without an orthodox striker as the game became a frantic end-to-end encounter.
Having made an error for United's goal, Bravo was forced into a last-ditch tackle on Rooney in order to prevent another, a challenge that left the striker in a heap on the turf.
Both sides continued to pile forward in search of another goal, which looked to have arrived when Rashford broke and had the ball in the net only to see it disallowed for Ibrahimovic straying into an offside position in front of the goalkeeper.
City, too, came close with De Bruyne striking the inside of the post for the second time in the match, before the ball rolled agonisingly across the goalline and away.
Despite their efforts neither side were able to find the energy to conjure another game-changing moment, giving Guardiola the bragging rights over Mourinho following their first taste of the Manchester derby.
That result leaves City top of the Premier League with 12 points from four games, three points ahead of United.