Manchester City won the FA Cup battle with Premier League title rivals Arsenal as Nathan Ake's goal gave them a narrow fourth-round victory at Etihad Stadium.
The Gunners have established an impressive lead in the league but it was City who shaded a tight contest thanks to Ake's precise 64th-minute finish after good work from Jack Grealish.
Arsenal had chances of their own, especially in the first half when City goalkeeper Stefan Ortega, deputising for Ederson, saved well from Takehiro Tomiyasu and new signing Leandro Trossard.
There was little to choose between the sides and their Premier League battle will come into focus once more when they meet at Emirates Stadium on 15 February.
City have the edge
City will view this as a psychological blow aimed in the direction of Arsenal, who manager Pep Guardiola has publicly recognised as the biggest threat to their hopes of retaining their title.
City were again short of their fluid best but have a squad so rich in quality and versatility that there is invariably a match-winning moment, on this occasion provided by Grealish's weaving run into the area and a clever finish from Ake.
Erling Haaland was quiet but the fact that City got over the line against opponents who have become so formidable, and who have lost only one league game this season, will delight Guardiola.
It was victory that came at a cost, however, with defender John Stones - so outstanding for his club this season and for England at the World Cup - forced off on the stroke of half-time after pulling up clutching his hamstring.
Stones has been an influential presence for City and Guardiola will hope the medical bulletin does not present a long-term problem.
Arsenal can be encouraged
For Arsenal, this was a rare taste of defeat this season - but there was enough for manager Mikel Arteta to be encouraged by as they turn attentions back to the league.
The Gunners put the shackles on goal machine Haaland, and in the first half - with recent £21m arrival Trossard prominent - they were a real threat going forward, with Ortega the busier goalkeeper.
It was all achieved with key men Martin Odegaard, Oleksandr Zinchenko, William Saliba, Gabriel Martinelli and goalkeeper Aaron Ramsdale held back from the starting line-up.
Arsenal pushed to the end and it required real bravery from Ortega to keep them at bay in tight goalmouth situations.
Arteta will be hurt by the defeat but there was plenty in Arsenal's performance to not regard this as too much of a setback.
Player of the match
AkéNathan Aké
Line-ups
Man City
Formation 3-2-4-1
18Ortega
6Aké25Akanji5Stones
16Rodri8Gündogan
17De Bruyne82Lewis10Grealish9Haaland
26Mahrez
18Ortega6Aké25Akanji5StonesSubstituted forLaporteat 45+4'minutes16Rodri8GündoganBooked at 90mins17De BruyneSubstituted forBernardo Silvaat 75'minutes82LewisSubstituted forWalkerat 58'minutes10Grealish9Haaland26MahrezSubstituted forÁlvarezat 58'minutesSubstitutes
2Walker3Rúben Dias4Phillips7Cancelo14Laporte19Álvarez20Bernardo Silva31Ederson80PalmerArsenal
Formation 4-3-3
30Turner
18Tomiyasu16Holding6Gabriel3Tierney
21Fábio Vieira5Partey34Xhaka
7Saka14Nketiah19Trossard
30Turner18Tomiyasu16HoldingBooked at 42minsSubstituted forSalibaat 45'minutes6Gabriel3TierneySubstituted forZinchenkoat 66'minutesBooked at 90mins21Fábio Vieira5ParteySubstituted forSambi Lokongaat 45'minutes34Xhaka7SakaSubstituted forØdegaardat 74'minutes14Nketiah19TrossardSubstituted forMartinelliat 66'minutesSubstitutes
1Ramsdale4White8Ødegaard11Martinelli12Saliba15Kiwior23Sambi Lokonga27Marquinhos35ZinchenkoLive Text
Match ends, Manchester City 1, Arsenal 0.
Second Half ends, Manchester City 1, Arsenal 0.
Bernardo Silva (Manchester City) wins a free kick on the right wing.
Foul by Oleksandr Zinchenko (Arsenal).
Nathan Aké (Manchester City) wins a free kick in the defensive half.
Foul by Eddie Nketiah (Arsenal).
Ilkay Gündogan (Manchester City) is shown the yellow card.
Oleksandr Zinchenko (Arsenal) is shown the yellow card for a bad foul.
Kyle Walker (Manchester City) wins a free kick in the attacking half.
Foul by Oleksandr Zinchenko (Arsenal).
Ilkay Gündogan (Manchester City) wins a free kick in the attacking half.
Foul by Martin Ødegaard (Arsenal).
Bernardo Silva (Manchester City) wins a free kick in the defensive half.
Foul by Oleksandr Zinchenko (Arsenal).
Corner, Arsenal. Conceded by Stefan Ortega.
Corner, Arsenal. Conceded by Kyle Walker.
Attempt saved. Julián Álvarez (Manchester City) right footed shot from outside the box is saved in the centre of the goal. Assisted by Rodri.
Bernardo Silva (Manchester City) wins a free kick on the right wing.
Foul by Granit Xhaka (Arsenal).
Jack Grealish (Manchester City) wins a free kick in the defensive half.