Two late goals from Wolves’ Adama Traore inflicted a stunning 2-0 defeat on Manchester City to leave the Premier League champions trailing leaders Liverpool by eight points.
It was a thoroughly deserved victory for Nuno Espirito Santo’s men, who enjoyed the better chances and became the first team to stop City scoring at the Etihad Stadium for 34 matches.
Even with only eight games played, Liverpool now have a golden chance to win their first league title for 30 years after starting the campaign with eight straight wins.
And as time ticked on, the urgency of the situation for Pep Guardiola’s side was apparent as they have already dropped more points at home than in the whole of last season.
“It was not our best day. We let them run twice, got nervous a little bit and our process to create chances was not good,” Guardiola said.
“We were not organised and lost balls in positions we could not lose them in. We had problems on the counter-attack in the end and it was a bad day.”
City were again made to pay for a serious of key defensive injuries and badly missed the creativity of Kevin De Bruyne in midfield.
Wolves had two days less rest and a trip back from Istanbul to cope with after winning at Besiktas in the Europa League on Thursday night.
However they never tired and finally took their chances through Traore in the final 10 minutes.
Twice in a matter of moments during the first half, Raul Jimenez was played through by loose passes from City players, but the Mexican striker was unable to convert either opportunity.
He was first denied by an excellent tackle from Fernandinho and on the second chance he delayed and failed to get his shot away, although he felt he was impeded by City’s makeshift central defender and should have been given a penalty.
City looked like the team suffering a European hangover as they struggled to move the ball with their usual fluidity and Wolves goalkeeper Rui Patricio was not called into action until past the half-hour mark when he pushed away Raheem Sterling’s shot.
Guardiola was not happy and made a tactical switch at half-time as he sent on Oleksandr Zinchenko in place of Kyle Walker and pushed Joao Cancelo over to his preferred right-back position.
But there was not the speed in City’s play or the space to open up their opponents, even after Bernardo Silva was summoned from the bench for Riyad Mahrez.
The breakthrough they so badly wanted almost came when David Silva was brought down just outside the area before picking himself up to curl the free-kick against the crossbar.
But with 10 minutes remaining, the decisive blow was delivered by Traore as he coolly slotted past Ederson after Jimenez had skipped away from Nicolas Otamendi for his first goal since August 2018.
And in the final minute of injury time with City pushing men forward, Traore repeated the trick when he was put clear with an almost identical goal as he beat Ederson again.