The atmosphere was electric, filled with physicality, drama, and intricate storylines, long before the momentum in this Premier League title-decider shifted once more—this time, away from Arsenal just before halftime. Mikel Arteta’s squad had weathered an early storm, which included Erling Haaland scoring his 100th goal for Manchester City—achieved in just his 105th appearance. Riccardo Calafiori’s stunning long-range equalizer on his full Arsenal debut was a sight to behold, with City fuming over the ethics of a quickly taken free-kick by Thomas Partey that led to the goal. The visitors felt a surge of hope when Gabriel Magalhães headed them in front from a set-piece, a specialty of Arsenal’s in recent times.

The dynamics of the match were redrawn yet again. We were in the seventh minute of first-half stoppage time when Leandro Trossard, already on a booking, fouled Bernardo Silva. But what followed was unexpected: Trossard was shown a second yellow card for, as it turned out, angrily kicking the ball away. It was a strict interpretation of the rules, reminiscent of Declan Rice’s second booking in Arsenal’s 1-1 draw against Brighton at the end of August, though Trossard’s reaction was more vehement. Arsenal had been penalized, but they showed no signs of backing down—or learning from their mistake.

Thus began a high-stakes battle of City’s attack versus Arsenal’s defense. For the entirety of the second half, Arsenal kept their 10 men behind the ball, rarely venturing across the halfway line. Their strategy was clear: withstand the pressure. If that meant resorting to the dark arts—time-wasting, players feigning cramp—so be it. Could the toughest defense in England hold onto their slim lead? Until the very end, it seemed they could. Despite City’s territorial dominance, they only created three significant chances, all of which were saved by David Raya. He denied a Haaland header and two powerful shots from Josko Gvardiol.

Then came the decisive moment. With the additional seven minutes up, City executed a short corner; substitute Jack Grealish set up another, Mateo Kovacic, whose shot was blocked. Enter yet another City substitute, John Stones, who forced the rebound home, saving City and setting the stage for a lengthy and heated post-match analysis. The tone of aggression was set early, with Kai Havertz barging into Rodri moments after the opening kick-off, necessitating treatment for the City midfielder. His team responded with a sense of indignation. Ilkay Gündogan might have scored after receiving a pass from Silva, but he volleyed wildly; then City took control. The opening goal felt monumental when it arrived, surprising given its early timing. The scorer, however, was no surprise.

The move was initiated when Savinho received a pass from Kyle Walker and cut inside, evading Calafiori. The winger exploited the space between Gabriel and William Saliba—a rare opening—and the timing of the pass to Haaland was flawless. Once Haaland positioned his body in front of Gabriel, the outcome was sealed. He finished in one fluid motion with the outside of his left boot. City were in full flow, with Gündogan bending a free-kick just wide of Raya’s post 14 minutes in. Arsenal’s equalizer, however, was a bolt from the blue. City had lost Rodri; he was checked again, this time by Partey on a corner, appearing to jar his knee.

The emotions were running high when Arsenal won a free-kick in the middle of the field, and referee Michael Oliver called over the captains, Kyle Walker and Bukayo Saka, to appeal for calm. That appeal fell on deaf ears. City were clearly unprepared for Partey to quickly take the free-kick, sending it up the inside left channel for Gabriel Martinelli; Walker was out of position. Oliver allowed the play to continue, and the consequences were significant. Martinelli passed back to Calafiori, and what a moment it was for the Italian, his curling shot from distance finding the far top corner. Guardiola raged on the touchline, as did his players.

The tide turned sharply, with Arsenal feeling their confidence surge. Gabriel headed wide when unmarked on a corner, and after Trossard lifted the ball high following a Martinelli cutback, Gabriel did find the net on another corner. He outmuscled Walker and seemed more determined than any of City’s defenders. Remarkably, there was more drama before the interval with Trossard’s dismissal. Initially, it seemed he had been shown a second yellow card for barging into the back of Silva, which would have been harsh. His actual offense was angrily kicking the ball away as Arsenal prepared to defend the free-kick. Call it a moment of rashness. Trossard, whose first caution had been for pulling back Savinho, did not want to leave the field. Arsenal were stunned, partly because City’s Jérémy Doku had escaped a booking earlier for a similar offense.

Arteta’s team was accused of defensive tactics in last season’s 0-0 draw here. Now, they truly adopted that approach. As the second half began, with Ben White replacing Saka, the formation was 5-4-0; White as the right-sided center-half, Jurrien Timber outside him. City tried to find a way through, and for long spells, it looked as though they had run out of ideas. Arsenal looked secure. Then they were breached.