The verdict
Manchester City edged a genuinely open contest 2-1, but the xG — 2.82 vs 2.63 — tells you how close this was. Cherki struck early in the 16th minute, Havertz levelled almost immediately from close range, and for long stretches Arsenal’s open-play threat (xG 2.04 vs City’s 1.87) suggested the Gunners were the more dangerous side. Then Haaland, having squandered a 0.56 xG chance in the 3rd minute, punished Raya’s -1.03 keeper performance rating with the decisive 65th-minute goal.
Arteta’s makeshift backline — Mosquera and Hincapie deputising for the absent Timber and Calafiori — held its shape largely, but Donnarumma was barely tested by comparison. The real damage came from City’s set-piece menace (0.95 xG to Arsenal’s 0.59) and Haaland’s relentless penalty-box presence, three big chances converted into one clinical finish.
Goals
- 16’ — R. Cherki (Manchester City), assist M. Nunes,- 18’ — K. Havertz (Arsenal),- 65’ — E. Haaland (Manchester City)
The numbers
| Metric | Manchester City | Arsenal |
|---|---|---|
| Goals | 2 | 1 |
| Expected goals | 2.82 | 2.63 |
| Big chances | 5 | 5 |
| xPoints | 1.49 | 1.28 |
| Total shots | 15 | 9 |
| Possession % | 59 | 41 |
| Passes | 498 | 348 |
| Corners | 8 | 5 |
The tactical battle
Guardiola deployed the same 4-2-4 pressing structure used to strangle Arsenal in the Carabao Cup final — Haaland and Cherki blocking central lanes while Semenyo and Doku angled runs to cut off full-back passes. Arsenal’s 4-3-3 generated more open-play xG but City’s set-piece superiority (0.95 vs 0.59) and Raya’s below-par day proved decisive.
Man of the match
Havertz deserved man of the match: 5 shots, 1.81 xG, 4 big chances, and the equaliser — the most complete attacking performance on the day, just on the wrong side of the result.
Top performances (by xG involvement)
| Player | Team | Shots | xG | Goals | Big chances |
|---|---|---|---|---|---|
| Kai Havertz | Arsenal | 5 | 1.81 | 1 | 4 |
| Erling Haaland | Manchester City | 5 | 1.51 | 1 | 3 |
| Gabriel Martinelli | Arsenal | 1 | 0.64 | 0 | 1 |
| Mathis Cherki | Manchester City | 3 | 0.54 | 1 | 1 |
| Abduqodir Khusanov | Manchester City | 1 | 0.46 | 0 | 1 |
| Jéremy Doku | Manchester City | 2 | 0.1 | 0 | 0 |
Three things that stood out
- Kai Havertz generated 1.81 xG from 5 shots and was involved in 4 big chances — more than any other player on the pitch — yet finished on the losing side
- Martinelli’s 59th-minute chance was the biggest single opportunity of the match at 0.64 xG, and it went unconverted
- David Raya’s keeper performance rating was -1.03, meaning he cost Arsenal roughly a full expected goal relative to what a league-average keeper would have saved
From the live blog
Eze was so close to adding another belter to his spectacular portfolio of goals. In that sense, he’s the Matthew Le Tissier des nos jours. Incidentally, Guehi was booked for fouling Rice during the move that led to Havertz’s chance.
What happens next
City close to within three points of Arsenal with a game in hand — the title race, briefly looking like a procession, is suddenly a knife-fight again.
Cards & substitutions
- 36’ Yellow Card — Cristhian Mosquera (Arsenal)
- 60’ Yellow Card — Marc Guéhi (Manchester City)
- 83’ Yellow Card — Erling Haaland (Manchester City)
- 83’ Yellow Card — Gabriel Magalhães (Arsenal)
- 46’ Substitution — N. Madueke (Arsenal)
- 74’ Substitution — C. Mosquera (Arsenal)
- 74’ Substitution — E. Eze (Arsenal)
- 84’ Substitution — M. Zubimendi (Arsenal)
- 85’ Substitution — R. Cherki (Manchester City)
- 88’ Substitution — Rodri (Manchester City)
- 88’ Substitution — J. Doku (Manchester City)
- 90+6’ Substitution — A. Semenyo (Manchester City)
Match xG: Manchester City 2.82 — 2.63 Arsenal. Result archetype: open. xPoints: 1.49 vs 1.28.