Birmingham City 0
Wolves 1 (Bonatini 11)
Wolves moved four points clear of second placed Cardiff City and ten clear of third after a hard fought but deserved victory over Birmingham City at St Andrew’s.
Alfred N’Diaye came in for the suspended Ruben Neves as the only change to the team that had started against Bolton nine days earlier.
City kicked-off attacking the railway end of the ground that held a sell-out contingent from Wolverhampton.
Marc Roberts earned a rebuke from the referee but no yellow card after a cynical foul on Diogo Jota. Barry Douglas’s free-kick was cleared but Wolves drew first blood after eight minutes.
Ivan Cavaleiro pounced on a misplaced pass just outside the home area and he hit a fierce drive that David Stockdale could only turn aside. Diogo Jota, from the sharpest of angles, hit a terrific shot that Stockdale managed to block.
But this time there was no second chance for the keeper as Leo Bonatini forced the ball home with the referee checking with his linesman that it had crossed the line before Michael Morrison cleared.
For the second time in six minutes Roberts was guilty of an awful challenge on Diogo Jota and this time, after another lecture, he was booked.
After 21 minutes Cavaleiro dispossessed Jeremie Boga on the halfway line and charged towards the Blues’ goal before lifting his shot over the bar from 22-yards out.
A crisp, close passing build up then saw Diogo Jota setting up Cavaleiro who cut past his marker before hitting a low drive that was drew the best out of Stockdale.
There was another chance when Bonatini spread the ball out to Diogo Jota on the left. He ran to the edge of the box but his final shot, for once, afforded Stockdale a comfortable save.
Although City exerted a little pressure on the Wanderers defence just before the break, the half had been dominated by the visitors with John Ruddy, other than claiming an occasional cross, not having a save to make.
Half-Time: Blues 0 Wolves 1
Former Molineux midfielder Stephen Gleeson replaced Birmingham's Jota at the start of the new half.
Bonatini fired a low cross through the heart of the City area in the 48th minute. The ball struck Maikel Kieftenbeld and went behind for an unproductive corner from Cavaleiro.
Diogo Jota nearly made the home defence pay for a sloppy pass. He ran into the box but after his initial shot had been blocked, he was crowded out before he could have a second effort. On the hour Nuno made his first change with Helder Costa taking over from Cavaleiro.
Just four minutes after his introduction Costa had the chance of giving Wolves a cushion when Bonatini’s pass left him with just Stockdale to beat. But the keeper was quickly off his line to save at the winger’s feet.
A midfield confrontation between N’Diaye and Kieftenbeld ended with the referee booking both players.
After Blues had sent Che Adams on for Lukas Jutkiewicz, there was another chance for Diogo Jota who cut in from the left and hit a low, angled drive into the side netting.
More changes followed with Jack Price replacing Bonatini and, after Harlee Dean had been booked for fouling N’Diaye, Bright Enobakhare went on for Romain Saiss. At the same time City replaced Cheikh Ndoye with another former Wolf, David Davis.
Tempers flared again after Morrison had fouled Diogo Jota. The two pushed each other before Dean threw Diogo Jota to the floor. After booking Morrison and Costa, the referee then waved a second yellow at Dean, and then a red.
Whilst Blues were much more of a force in the second half, Ruddy still didn’t need to make a direct save as Wanderers held on for win number 15 of the season so far.
Blues: Stockdale, Nsue, Grounds, Morrison (capt), Dean, Roberts, Kieftenbeld, Ndoye (Davis 80), Jota (Gleeson 45), Boga, Jutkiewicz (Adams 68).
Unused subs: Trueman, Cotterill, Maghoma, Gallagher.
Bookings: Roberts (11 – foul), Kieftenbeld (65 – ungentlemanly conduct), Dean (77 – foul), Morrison (83 - ungentlemanly conduct).
Sending-Off: Dean (83 – ungentlemanly conduct, second bookable offence).
Wolves: Ruddy, Doherty, Douglas, Coady (capt), Boly, Bennett, Cavaleiro (Costa 60), Saiss (Enobakhare 80), Bonatini (Price 75), N’Diaye, Jota.
Unused subs: Norris, Vinagre, Batth, Miranda.
Bookings: N’Diaye (65 – ungentlemanly conduct), Jota (83 – ungentlemanly conduct)
Referee: S. Hooper.
Attendance: 19,641 (2,455 away supporters).