Aston Villa surprisingly overcame Manchester City 1-0 with a strike from Matty Cash, allowing Arsenal to consolidate their position at the summit of the Premier League following the ninth round.
The match between Aston Villa and Manchester City at Villa Park was pivotal in the title race. Despite being favored, Pep Guardiola's squad struggled against the disciplined and high-pressing style of the hosts. In the 19th minute, Matty Cash shone by capitalizing on a rebound from a corner kick, firing a beautiful shot from the edge of the box that beat goalkeeper Donnarumma, giving Aston Villa a 1-0 lead.
Man City immediately pushed forward seeking an equalizer, and Haaland had a great chance in the 22nd minute. However, the Norwegian striker's close-range shot was brilliantly saved by Emiliano Martinez. As the first half progressed, Aston Villa grew more confident, while Man City's attack gradually became ineffective.
Matty Cash's sole goal secured Aston Villa's victory over Man City
In the second half, Pep Guardiola introduced attacking players such as Jeremy Doku, Nico O’Reilly, and Rayan Cherki to change the game's flow. Yet, Haaland remained silent throughout the half, tightly marked by Aston Villa’s defense, especially Tyrone Mings, who denied him any shooting opportunities. In the 70th minute, Sancho nearly doubled the lead but was denied by Donnarumma, while Man City barely created any clear chances.
The climax came in the 90th minute when Haaland found the net, but VAR ruled the goal off due to an offside during the buildup. Pep Guardiola was powerless on the sidelines as his team fell to a lower-rated opponent.
Referee Michael Oliver blew the final whistle at 90+7 minutes, confirming a courageous 1-0 win for Aston Villa. This result dropped Man City to fourth place with 16 points after 9 matches, while Arsenal continued to lead the table with 22 points, four points ahead of second-placed Bournemouth.
Live commentary of Aston Villa vs Manchester City, 26/10/2025
90+4'
Nico (Manchester City) decided to shoot towards the goal but failed to apply pressure on the opposing goalkeeper as the ball was cleared by defenders.
90+1'
Manchester City's goal was disallowed following a VAR decision due to an offside during the build-up.
90'
Six minutes of added time will be played.
90'
Manchester City players had to pause celebrations as referee Michael Oliver reviewed the goal's validity via VAR, likely checking a possible offside in the buildup.
90'
1 - 1
Erling Haaland (Manchester City) received an accurate pass inside the box and scored a beautiful low shot to the left corner, with the ball hitting the post before going in.
89'
Total shots by both teams – 9:14.
87'
Erling Haaland lost possession after receiving a good pass from Phil Foden (Manchester City).
86'
The assistant referee is signaling a substitution. Lucas Digne will exit to be replaced by Ian Maatsen (Aston Villa).
86'
Unai Emery opts to refresh his team's tactics with a substitution now. Ollie Watkins leaves the field, replaced by Donyell Malen (Aston Villa).
84'
That will conclude Savinho's performance today as he is substituted by the fresher legs of Omar Marmoush (Manchester City).
81'
The referee writes down Boubacar Kamara's (Aston Villa) name before issuing him a yellow card.
80'
The referee appears lenient, showing only a yellow card to Phil Foden (Manchester City).
80'
Phil Foden (Manchester City) takes a free kick and immediately continues play with a short pass.
80'
Boubacar Kamara (Aston Villa) committed a rough tackle, and referee Michael Oliver blew the whistle awarding a free kick to Manchester City.
79'
Manchester City is controlling the midfield well with precise passes among players.
76'
The referee signals a substitution. Tijjani Reijnders can rest as Rayan Cherki (Manchester City) comes on.
74'
Unai Emery makes a change. Evann Guessand (Aston Villa) replaces Jadon Sancho.
74'
Another substitution: John McGinn leaves and Ross Barkley (Aston Villa) enters from the bench.
73'
The attendance for today's match is 41,988.
72'
A precise cross into the box finds Erling Haaland (Manchester City), who heads the ball centrally, but the goalkeeper reacts quickly to make a good save.
70'
Jadon Sancho (Aston Villa) cuts inside from his marker and unleashes a powerful shot inside the box. The ball heads towards the low left corner but is brilliantly saved by goalkeeper Gianluigi Donnarumma.
68'
Phil Foden's (Manchester City) corner only reaches a defender who heads the ball clear.
68'
Jeremy Doku (Manchester City) attempts a quick through ball to a teammate positioned close to the offside line, but a defender intervenes and clears the ball. Manchester City earns a corner kick. Both the referee and assistant referee point to the corner flag.
67'
Corner kicks count: 5:5.
64'
Nico (Manchester City) commits a foul and receives a fully justified yellow card.
63'
Lucas Digne (Aston Villa) delivers a corner kick, but the ball fails to reach any teammate. An opposing defender reacts well to clear the danger.
61'
Substitution: Nico O'Reilly (Manchester City) comes on, John Stones goes off.
61'
Pep Guardiola prepares a substitution. Oscar Bobb is replaced by Jeremy Doku (Manchester City).
61'
The substitution has been made. Nico (Manchester City) replaces Bernardo Silva.
61'
Phil Foden (Manchester City) takes a corner, sending the ball into a crowd inside the box, but an opposing defender safely clears it.
61'
Savinho (Manchester City) reacts quickly after the ball is cleared and shoots from the edge of the box, but his shot is blocked by a cluster of defenders in front of the goal. The ball goes out, resulting in a corner for Manchester City.
60'
Ruben Dias (Manchester City) makes a near-post header from a corner kick delivery. The shot is low and aimed at goal, but a defender intercepts and clears it away.
60'
Corner kick. Phil Foden (Manchester City) stands ready, likely to deliver a sharp cross into the box.
59'
Savinho (Manchester City) sends a dangerous cross into the box, but an opponent intercepts and neutralizes the threat. The referee blows the whistle, awarding Manchester City a corner.
59'
Phil Foden (Manchester City) takes a corner kick, but a defender heads the ball away from the penalty area.
58'
Savinho (Manchester City) delivers a sharp pass from the edge of the box, but an opposing defender reacts just in time to block the effort. The ball goes out, resulting in a corner for Manchester City.
57'
Josko Gvardiol (Manchester City) attempts a long through ball to a teammate but is unsuccessful.
56'
Manchester City continues with skillful passing to create new attacking opportunities.
54'
Tijjani Reijnders (Manchester City) receives a somewhat harsh yellow card for a minor foul. The referee may have been a bit strict.
53'
From a corner, the ball reaches John McGinn (Aston Villa) deep inside the box, and he shoots low towards the center of the goal, but a defender deflects it away.
52'
Matty Cash (Aston Villa) prepares to take a corner after the opposing defender cleared the ball over the goal line.
48'
A defender makes a superb block, rendering Manchester City's corner ineffective.
48'
Manchester City takes a corner but cannot capitalize as a defender clears the ball.
48'
Phil Foden (Manchester City) shoots from a very favorable position outside the box, but a defender sacrifices himself to block the shot. Manchester City wins a corner and is positioning players inside the box.
48'
Oscar Bobb (Manchester City) tries to escape pressure but is blocked by an opponent. The ball goes out for a throw-in to Manchester City.
46'
Everything is set for the second half to begin.
45+4'
The referee blows the whistle to end the first half, concluding 45 minutes of play.
45+2'
Matty Cash (Aston Villa) takes a free kick, but the pass is intercepted.
45+1'
Josko Gvardiol (Manchester City) was too aggressive trying to take the ball from an opponent, and Michael Oliver awarded a free kick to Aston Villa.
45'
The fourth official shows 3 minutes of added time.
44'
John Stones (Manchester City) attempts a through ball to Erling Haaland inside the box, but a defender intercepts.
43'
Oscar Bobb (Manchester City) delivers a low cross into the box but it is slightly off-target and a defender intercepts. If accurate, it might have led to a goal.
41'
Lucas Digne (Aston Villa) takes a corner kick but it fails to create any danger for the opposition's goal.
41'
John McGinn (Aston Villa) delivers a good cross, but the opposing defense clears it. Aston Villa earns a corner, posing another attacking threat.
40'
Savinho (Manchester City) just received a well-deserved yellow card from the referee.
39'
A pass by Boubacar Kamara (Aston Villa) finds no receiver and the attack ends. The referee and assistant signal a throw-in for Manchester City.
37'
The match is paused due to a clear handball by Josko Gvardiol (Manchester City)!
35'
Bernardo Silva (Manchester City) was caught offside as the assistant referee raised the flag.
34'
It seems Ollie Watkins (Aston Villa) received a red card for a tackle. Michael Oliver did not tolerate such conduct and penalized it.
33'
Lucas Digne (Aston Villa) continues to challenge the opposing defense with a long through ball, but they remain alert and intercept.
31'
Aston Villa takes a corner, but their hopes are dashed by a strong defensive clearance.
31'
Boubacar Kamara passes to John McGinn (Aston Villa), who shoots narrowly wide from the edge of the box. Aston Villa forces a corner.
29'
Unai Emery is forced to make a change. Emiliano Buendia (Aston Villa) is injured and replaced by Jadon Sancho.
27'
The match is interrupted as Emiliano Buendia (Aston Villa) is dazed from a collision, requiring medical attention on the field.
25'
A dangerous move by Oscar Bobb (Manchester City). Referee Michael Oliver immediately blows the whistle.
24'
Savinho (Manchester City) chips the ball over the defense but it fails to reach any teammate.
22'
Fantastic save! Erling Haaland (Manchester City) had plenty of time and space inside the box after a clever pass, but his low shot to the left corner was superbly stopped by Emiliano Martinez.
19'
1 - 0
Matty Cash (Aston Villa) controls the ball from a corner and scores a beautiful goal with a shot from the edge of the box to the right side of the goal.
19'
Emiliano Buendia (Aston Villa) had a chance to deliver the ball into the box from a corner.
19'
Lucas Digne (Aston Villa) made a weak pass trying to send the ball into the box, but defenders intercepted and cleared it out for a corner.
17'
Lucas Digne (Aston Villa) fired a powerful shot after receiving a pass, aiming from the edge of the box. It was a threatening attempt but was deflected by a defender out for a throw-in.
16'
Savinho (Manchester City) committed a shirt pull foul and the referee stopped play.
15'
Ollie Watkins (Aston Villa) nearly created a scoring chance with a through ball that failed to connect with a teammate.
12'
A pass from Matty Cash (Aston Villa) found no receiver and the attack ended.
10'
John McGinn (Aston Villa) sent a cross, and Ollie Watkins was ready to receive it, but goalkeeper Gianluigi Donnarumma read the play well and intercepted in mid-air.
9'
Manchester City currently dominates possession.
6'
Tijjani Reijnders (Manchester City) created space to receive a pass near the box and took a shot that went wide. The ball went out and Aston Villa will restart with a goal kick.
5'
Bernardo Silva (Manchester City) tried to create a chance but passed too quickly.
4'
Savinho (Manchester City) crossed into the box but the ball was too close to goalkeeper Emiliano Martinez, who caught it safely.
3'
Emiliano Buendia (Aston Villa) took a mid-range shot that flew over the bar. The ball went out for a goal kick for Manchester City.
1'
The first half has just started.
Manchester City will kick off first.
Michael Oliver has been appointed as the referee for this match.
In the match details, you can check both teams’ lineups while waiting for the game to start.
Hello football fans, we are here to bring you live commentary of the upcoming match, covering all exciting and important events. We will make sure you don’t miss a thing, so just relax and enjoy.
90+1'
Manchester City's goal was disallowed by VAR due to an offside in the buildup.
90'
Manchester City players had to delay celebrations as referee Michael Oliver reviewed the goal's validity through VAR, likely checking a possible offside during the attack.
90'
1 - 1
Erling Haaland (Manchester City) received a precise pass inside the box and scored a beautiful low shot to the left corner, with the ball hitting the post before going in.
86'
The assistant referee holds up the substitution board. Lucas Digne will leave the pitch, replaced by Ian Maatsen (Aston Villa).
86'
Unai Emery decides to refresh his team's tactics with a substitution now. Ollie Watkins exits and Donyell Malen (Aston Villa) enters.
84'
Savinho's performance concludes here as he is replaced by the fresher Omar Marmoush (Manchester City).
81'
The referee records Boubacar Kamara's (Aston Villa) name before issuing a yellow card.
80'
The referee seems lenient, showing only a yellow card to Phil Foden (Manchester City).
76'
The referee signals a substitution. Tijjani Reijnders can rest as Rayan Cherki (Manchester City) comes on.
74'
Unai Emery makes a change. Evann Guessand (Aston Villa) replaces Jadon Sancho.
74'
Another substitution: John McGinn leaves and Ross Barkley (Aston Villa) enters from the bench.
70'
Jadon Sancho (Aston Villa) cuts inside from his marker and fires a powerful shot inside the box. The ball heads towards the low left corner but is brilliantly saved by goalkeeper Gianluigi Donnarumma.
64'
Nico (Manchester City) commits a foul and receives a fully justified yellow card.
61'
Substitution: Nico O'Reilly (Manchester City) comes on, John Stones goes off.
61'
Pep Guardiola prepares a substitution. Oscar Bobb is replaced by Jeremy Doku (Manchester City).
61'
The substitution has been made. Nico (Manchester City) replaces Bernardo Silva.
54'
Tijjani Reijnders (Manchester City) receives a somewhat harsh yellow card for a minor foul. The referee may have been a bit strict.
46'
Everything is set for the second half to begin.
45+4'
The referee blows the whistle to end the first half, concluding 45 minutes of play.
40'
Savinho (Manchester City) just received a well-deserved yellow card from the referee.
31'
Boubacar Kamara passes to John McGinn (Aston Villa), who shoots narrowly wide from the edge of the box. Aston Villa forces a corner.
29'
Unai Emery is forced to make a change. Emiliano Buendia (Aston Villa) is injured and replaced by Jadon Sancho.
22'
Fantastic save! Erling Haaland (Manchester City) had plenty of time and space inside the box after a clever pass, but his low shot to the left corner was superbly stopped by Emiliano Martinez.
19'
1 - 0
Matty Cash (Aston Villa) controls the ball from a corner and scores a beautiful goal with a shot from the edge of the box to the right side of the goal.