David Edwards scored his first goal for 14 months as Wolves stunned Manchester City with a 2-1 win at Molineux.
Visitors City went ahead through Emmanuel Adebayor's penalty and dominated the early part of the match.
But Wolves equalised through Nenad Milijas and then Edwards earned Mick McCarthy's side their first victory since the opening day of the campaign.
Winger Matt Jarvis enhanced his England credentials with another sparkling performance for Wolves as he supplied a string of menacing crosses.
Mario Balotelli stabbed an early shot wide for City from James Milner's centre, and Vincent Kompany then saw a glancing header from David Silva's corner cleared by Milijas.
City's pressure built up and after 23 minutes Adebayor scored his first Premier League goal of the season from the penalty spot to put them ahead. Jerome Boateng played the ball through to Silva who was brought down by Richard Stearman, and Adebayor sent Marcus Hahnemann the wrong way from 12 yards.
Edwards twice went close to equalising in the space of a minute, with one header well saved by Joe Hart and another thumping against a post.
Milijas scored the equaliser after 29 minutes as City failed to clear a cross from Jarvis.
There was a quiet start to the second half but after 56 minutes Edwards put Wolves in front when Kevin Doyle's shot was blocked by defender Kolo Toure and the rebound fell kindly. Edwards stayed composed and slid the ball into the bottom right corner.
Silva forced a decent save from Hahnemann, but Wolves were looking full of confidence and Hart had to be alert to get his body behind a low 30-yard attempt from Milijas. For City, former Arsenal striker Adebayor shot wastefully over before being substituted, and gritty Wolves held on for a valuable win.