- Man City secured a 2-1 win against Wolves thanks to John Stones' 95th-minute header
- Wolves left frustrated by the officials' decision to allow the late winner
- Josko Gvardiol scored a stunner to cancel out Jorgen Strand Larsen's early effort
Manchester City needed a controversial 95th-minute winner to beat a stubborn Wolverhampton Wanderers side 2-1 on Sunday afternoon at Molineux.
Josko Gvardiol's excellent strike from outside the area ensured the Cityzens went into half-time on level terms after Jorgen Strand Larsen had handed Wolves the lead in the seventh minute.
After a frustrating second half for the Premier League champions, John Stones' late header earned them all three points despite Wolves believing the goal should have been ruled out for offside.
How the game unfolded
Few inside Molineux harboured expectations of a positive result ahead of kick-off with the champions but an early goal from Strand Larsen drastically altered the mood among the home supporters. A slick move punished some apathetic Man City defending, with Nelson Semedo's excellent cross turned home from close range.
The Wolves lead almost vanished within a minute of the restart but an exquisite save from Jose Sa denied his compatriot Bernardo Silva an equaliser. The Portuguese threatened to provide a leveller shortly afterwards but his header flew over the crossbar.
Wolves were quick to cause Man City problems with several swift counter-attacks and Semedo had a glorious opportunity to double the home side's advantage. A sweeping move resulted in Matheus Cunha setting the right-back through on goal but his poked effort was smothered by the onrushing Ederson.
The odd foray forward offered Wolves some respite but Man City's territorial dominance and individual quality eventually broke the Old Gold's resistance. It was a wonder strike from left-back Gvardiol that undid Wolves' hard work, the Croatian cutting in on his weaker right foot and planting a beautiful effort into Sa's top corner.
Man City aggressively pursued a second goal before the break and Wolves had Sa to thank on the stroke of half-time. Savinho's low drive came through a sea of gold shirts but the goalkeeper produced a strong hand to prevent the Brazilian's effort finding the bottom corner.
The Premier League champions boasted 79% possession during the first half and the pattern of the match continued after the restart. But for all their dominance it was another long-range shot from a defender that came closest to putting Man City ahead shortly after the break, with Ruben Dias' strike not quite powerful or accurate enough to beat Sa.
Wolves still offered a threat when possession turned over with Cunha curling wide from 20 yards and Carlos Forbs' miscued cross almost finding goalscorer Strand Larsen unmarked at the far post with the goal gaping.
Wolves' stubborn defensive display appeared to have earned them a hard-fought point but Stones' stoppage-time header broke their hearts. The Man City defender rose highest from a corner to provide the winner but the goal was quickly ruled out for offside by the assistant referee.
Bernardo Silva was in an offside position and was competing with goalkeeper Sa for the ball, with referee Stuart Attwell sent to the monitor to review the strike. The referee then controversially reversed the on-field decision as Man City secured an important victory to take full advantage of Arsenal's defeat to Bournemouth on Saturday.
Wolves player ratings (5-3-2)
GK: Jose Sa - 8/10 - Two super saves ensured Wolves didn't find themselves behind at half-time and the Portuguese made his mark in the absence of the sidelined Sam Johnstone. Unlucky to find himself on the losing side.
RB: Nelson Semedo - 7/10 - A lively start down the right flank was capped by a sumptuous delivery into Strand Larsen's path for the opener. Defended robustly up against some speedy wingers.
CB: Santiago Bueno - 7/10 - Played his part in the first goal with a composed touch and pass under pressure to set Semedo free. Solid defensively as Wolves moved to a back five.
CB: Craig Dawson -7/10 - Made some crucial interventions from deliveries into the box and helped starve Erling Haaland of any service.
CB: Toti Gomes - 7/10 - Produced one excellent clearance close to his goal line in the first half and stifled Haaland with his physicality.
LB: Rayan Ait-Nouri - 7/10 - Savinho caused him some early problems but the Algerian grew in confidence. Patient in possession and won a number of individual duels.
CM: Mario Lemina - 6/10 - A fierce display in midfield that started a little unconvincingly. Covered plenty of ground and was measured when he got his foot on the ball.
CM: Andre - 6/10 - The Brazilian had travelled to South America on international duty over the October break which was likely the reason for his substitution. Rarely got on the ball during the first half but was tenacious out of possession.
CM: Joao Gomes - 6/10 - Combative throughout and started brightly but ended up giving away too many free kicks in dangerous areas of the pitch.
ST: Jorgen Strand Larsen - 7/10 - Produced a calm finish to put Wolves ahead and add a third goal to his Premier League tally. Did his best with very little service.
ST: Matheus Cunha - 6/10 - Impressed on the rare occasions he received the ball with some powerful bursts into the Man City half.
Substitutes
SUB: Tommy Doyle (46' for Andre) - 7/10 - The former Man City midfielder played with some much-needed composure in the centre of the pitch following his arrival.
SUB: Carlos Forbs (67' for Cunha) - 6/10
SUB: Goncalo Guedes (80' for Guedes) - 6/10
SUB: Jean-Ricner Bellegarde (90' for J. Gomes) - N/A
Subs not used: Daniel Bentley (GK), Matt Doherty, Pedro Lima, Rodrigo Gomes, Pablo Sarabia.
Manager
Gary O'Neil - 7/10 - After a dismal start to the campaign, O'Neil will have been immensely proud of his side's performance up against the division's best side despite the late defeat. Significant signs of improvement, especially defensively.
Man City player ratings (4-2-3-1)
GK: Ederson - 6/10 - Made an impressive save to deny Wolves a second in the first period and was largely untested during the rest of the encounter.
RB: Rico Lewis - 7/10 - Stepped into midfield regularly from right-back and helped orchestrate Man City's attacks in tight spaces with some neat passes.
CB: John Stones - 7/10 - Couldn't get close enough to Strand Larsen as Wolves went ahead but redeemed himself with the winning goal in injury time.
CB: Ruben Dias - 6/10 - Very rarely had to step out of second gear but will be frustrated with the sluggish defending that allowed Wolves the early lead.
LB: Josko Gvardiol - 8/10 - Man City's free-scoring left-back has returned and he produced a stunner from outside the box at Molineux. Offered plenty of promise on the overlap throughout.
DM: Mateo Kovacic - 7/10 - Made some characteristically powerful runs from deep and was tidy when receiving the ball in the final third.
DM: Ilkay Gundogan - 7/10 - Took up some nice positions in the final third and showed his class with the occasional moment of ingenuity.
RW: Savinho - 6/10 - Incredibly bright in the opening 20 minutes but his influence waned as the game wore on. Similarly to his teammates, he lacked cutting edge in the key moments.
AM: Bernardo Silva - 6/10 - Saw plenty of the ball as he floated across the front line but seldom caught the eye in possession.
LW: Jeremy Doku - 6/10 - As is so often the case with Doku, driving runs and electric pace was rarely followed by end product. Another slightly frustrating performance from the fleet-footed Belgian.
ST: Erling Haaland - 4/10 - Anonymous from the first minute to the last and was overshadowed by his Norwegian compatriot in gold. Man City needed more from him against a Wolves backline that has struggled this season.
Substitutes
SUB: Phil Foden (66' for Doku) - 7/10
SUB: Jack Grealish (73' for Savinho) - 6/10
SUB: Matheus Nunes (86' for Kovacic) - N/A
Subs not used: Stefan Ortega (GK), Scott Carson (GK), Manuel Akanji, Nathan Ake, James McAtee, Nico O'Reilly.
Manager
Pep Guardiola - 5/10 - More question marks raised following another underwhelming performance without Rodri and Kevin De Bruyne. Fortunate to come away with victory.