2026-08-28 20:00, Selhurst Park. Half time 0–1. Gianluigi Donnarumma 55' (own goal); Erling Haaland 16', Rayan Cherki 53', Rayan Cherki 58', Erling Haaland 83'
Man City created more, 2.5 to 0.5 expected goals, and won.
Rating brought into the match, expected goals a match as the rating counts them: Crystal Palace creates 1.17 and allows 1.24; Man City creates 1.81 and allows 1.01.
From the two sides' shots taken together: Crystal Palace win 4 per cent, draw 11, Man City win 85. Crystal Palace deserved 0.2 points and took 0; Man City deserved 2.7 and took 3.
Each shot scores with its own probability, independently; two shots in one passage of play both count although only one could have scored, so a match with rebounds is slightly overstated.
One mark per shot, larger for a better chance; filled marks are goals. Hover a mark for the player and the chance.
Expected goals added up through the match; the rings are goals.
| Expected goals | Crystal Palace | Man City |
|---|---|---|
| In full | 0.46 | 2.51 |
| Excluding penalties | 0.46 | 2.51 |
| As the rating counts them | 0.46 | 1.99 |
In full, every chance counts at its value. What the numbers mean says how the rating counts a chance.
| Expected goals from | Crystal Palace | Man City |
|---|---|---|
| Open play | 0.30 | 1.94 |
| of which counter-attacks | 0.00 | 0.09 |
| Set pieces | 0.17 | 0.57 |
| Penalties | 0.00 | 0.00 |
| Headers | 0.10 | 0.23 |
| Inside the box | 0.38 | 2.30 |
| Shots | 9 | 18 |
| Expected goals a shot | 0.05 | 0.14 |
| Min | Side | Player | Result | xG | Play | Body | Metres |
|---|---|---|---|---|---|---|---|
| 1:25 | Crystal Palace | Eddie Nketiah | Missed | 0.07 | RegularPlay | foot | 14 |
| 2:17 | Crystal Palace | Daichi Kamada | Blocked | 0.05 | FromCorner | foot | 20 |
| 4:52 | Crystal Palace | Tyrick Mitchell | Missed | 0.02 | ThrowinSetPiece | foot | 24 |
| 6:41 | Man City | Elliot Anderson | Saved | 0.03 | FromCorner | foot | 24 |
| 6:45 | Man City | Rúben Dias | Saved | 0.11 | FromCorner | foot | 8 |
| 6:46 | Man City | Erling Haaland | Saved | 0.36 | FromCorner | foot | 6 |
| 7:58 | Man City | Erling Haaland | Missed | 0.38 | RegularPlay | foot | 6 |
| 16:04 | Man City | Erling Haaland | Goal | 0.09 | RegularPlay | head | 9 |
| 20:57 | Man City | Phil Foden | Missed | 0.13 | RegularPlay | foot | 13 |
| 21:59 | Man City | Nico O'Reilly | Missed | 0.02 | RegularPlay | foot | 28 |
| 27:11 | Man City | Phil Foden | Missed | 0.42 | RegularPlay | other | 5 |
| 32:46 | Crystal Palace | Jørgen Strand Larsen | Missed | 0.03 | SetPiece | head | 13 |
| 33:56 | Crystal Palace | Tyrick Mitchell | Missed | 0.05 | RegularPlay | head | 11 |
| 37:23 | Man City | Antoine Semenyo | Saved | 0.05 | RegularPlay | foot | 18 |
| 38:32 | Crystal Palace | Chris Richards | Saved | 0.02 | SetPiece | head | 14 |
| 43:11 | Man City | Erling Haaland | Missed | 0.14 | RegularPlay | head | 8 |
| 44:48 | Crystal Palace | Anan Khalaili | Missed | 0.01 | RegularPlay | foot | 29 |
| 46:02 | Man City | Rayan Cherki | Saved | 0.09 | RegularPlay | foot | 16 |
| 46:45 | Man City | Antoine Semenyo | Blocked | 0.05 | RegularPlay | foot | 17 |
| 47:34 | Man City | Phil Foden | Blocked | 0.03 | FromCorner | foot | 23 |
| 49:04 | Crystal Palace | Eddie Nketiah | Missed | 0.17 | RegularPlay | foot | 9 |
| 52:19 | Man City | Elliot Anderson | Missed | 0.04 | FromCorner | foot | 16 |
| 53:06 | Man City | Rayan Cherki | Goal | 0.35 | RegularPlay | foot | 8 |
| 55:21 | Crystal Palace | Yéremy Pino | Post | 0.05 | DirectFreekick | foot | 26 |
| 58:40 | Man City | Rayan Cherki | Goal | 0.03 | RegularPlay | foot | 24 |
| 82:24 | Man City | Ryan McAidoo | Missed | 0.09 | FastBreak | foot | 21 |
| 83:58 | Man City | Erling Haaland | Goal | 0.10 | RegularPlay | foot | 13 |
| Crystal Palace | Man City | |
|---|---|---|
| Corners | 2 | 6 |
| Shots | 9 | 18 |
| Shots on target | 1 | 9 |
| Shots off target | 7 | 7 |
| Total passes | 291 | 788 |
| Pass accuracy % | 81.1 | 92.8 |
| Fouls committed | 8 | 11 |
| Total yellow cards | 1 | 2 |
Counts of the events in the match feed whose definitions the project has checked against a second source.