Match ends, Birmingham City 0, Wolverhampton Wanderers 2.
Wolves ended their three-match losing run with a goal in each half as they beat Birmingham City in the West Midlands derby.
Dave Edwards capitalised on defensive confusion to fire his second goal in successive games from 12 yards.
Sheyi Ojo sealed victory when he curled in a low left-foot shot late on.
On the anniversary of his first year in charge, Gary Rowett's Blues were outplayed as they fell to a third home defeat in four games.
Wolves had lost their previous three games and began nine places behind Blues in the Championship table.
But, in contrast to their last visit to St Andrew's in April, when defeat contributed to them missing out on a play-off place, this time it was Wolves who caused an upset.
|Sheyi Ojo: super travelling sub?|
|Both Sheyi Ojo's league goals for Wolves have come in away wins, via the bench. He also scored as a second-half sub in the 3-0 win at Fulham.|
But the visitors owed a little to luck with the opening goal.
Blues' Jacques Maghoma tried to block Nathan Byrne's left-wing cross, but it deflected off his shoulder and when the ball bounced it span viciously over the head of Paul Robinson.
Former Wolves keeper Tomasz Kuszczak saved from Benik Afobe as he attempted to repair Robinson's error of judgement, but the ball fell for Edwards who calmly stroked home left-footed from 12 yards.
Blues did improve in the run-up to the break, but Wolves were worth their half-time lead.
And it was much the same story after the break as Wolves new loan signing Mike Williamson and skipper Danny Batth proved impenetrable to Blues' misfiring attack.
Wolves finally sealed the points six minutes from time when Ojo cut in from the right before sliding his left-foot shot just inside Kuszczak's right-hand post.
Birmingham manager Gary Rowett: "We did not show the quality we required. We needed to be more inventive and show more composure on the ball.
"Conceding a very poor goal against the run of play didn't help us. That was the disappointing thing for me.
"We have been very solid defensively and not given too much away but the two goals were poor from our point of view and very easy for Wolves to score.
"I have to say Wolves played well and I do not want to take any credit away from them."
Wolves head coach Kenny Jackett: "The three points are important to us. In our previous three games we have been too open and not competitive enough.
"We conceded nine goals in those three games but we restricted Birmingham to only one shot on target.
"We defended well as a team and showed commitment. We got the goals at the right time and hopefully we now have something to build on."
- 19MaghomaSubstituted forToralat 67'minutes
- 26DavisSubstituted forBrock-Madsenat 79'minutes
- 6KieftenbeldSubstituted forCotterillat 58'minutes
- 11McDonaldBooked at 58mins
- 7HenrySubstituted forDohertyat 89'minutes
- 25ByrneSubstituted forOjoat 74'minutes
- 10AfobeSubstituted forHoltat 80'minutes
- 29Le Fondre
- Peter Bankes
- Shots on Target
Second Half ends, Birmingham City 0, Wolverhampton Wanderers 2.
Michael Morrison (Birmingham City) wins a free kick in the defensive half.
Foul by Grant Holt (Wolverhampton Wanderers).
Foul by Paul Caddis (Birmingham City).
Sheyi Ojo (Wolverhampton Wanderers) wins a free kick in the defensive half.
Substitution, Wolverhampton Wanderers. Matt Doherty replaces James Henry.
Attempt blocked. Jon-Miquel Toral (Birmingham City) right footed shot from the right side of the box is blocked. Assisted by Jonathan Grounds.
Goal! Birmingham City 0, Wolverhampton Wanderers 2. Sheyi Ojo (Wolverhampton Wanderers) left footed shot from the right side of the box to the bottom left corner. Assisted by James Henry following a corner.
Corner, Wolverhampton Wanderers. Conceded by Tomasz Kuszczak.
Attempt saved. James Henry (Wolverhampton Wanderers) right footed shot from a difficult angle on the right is saved in the centre of the goal.
Attempt missed. David Cotterill (Birmingham City) right footed shot from outside the box misses to the left from a direct free kick.
Clayton Donaldson (Birmingham City) wins a free kick in the attacking half.
Foul by Danny Batth (Wolverhampton Wanderers).
Foul by Nicolai Brock-Madsen (Birmingham City).
Dominic Iorfa (Wolverhampton Wanderers) wins a free kick in the defensive half.
Substitution, Wolverhampton Wanderers. Grant Holt replaces Benik Afobe.
Corner, Wolverhampton Wanderers. Conceded by Paul Caddis.
Attempt blocked. Sheyi Ojo (Wolverhampton Wanderers) right footed shot from outside the box is blocked. Assisted by Scott Golbourne.
Substitution, Birmingham City. Nicolai Brock-Madsen replaces David Davis because of an injury.