The only goal of the game came on eight minutes after a Blues defensive error.
Home keeper David Stockdale then saved well from Ivan Cavaleiro and Diogo Jota before Leo Bonatini made it third time lucky with a shot which crossed the line despite the best efforts of Michael Morrison to keep it out.
Wolves went on to dominate the first half with Cavaleiro and Jota calling Stockdale into further saves.
Birmingham came more into the game in the second half without overly troubling John Ruddy, and it was Wolves who had the best chances with Jota shooting wide and substitute Helder Costa denied by Stockdale.
Blues finished with ten men against Wolves for the third successive fixture after Harlee Dean, already booked, threw Jota to the ground in the closing stages.