Birmingham City 1 (Gardner 63) Leeds United 1 (Wood 17, 67, Pedraza 81)
Leeds had an early chance inside a minute of the game getting underway, Stuart Dallas fired on goal from range forcing Tomasz Kuszczak into a good save.
Craig Gardner then fired on goal for the hosts from range, Kyle Barltley got his head to it and the ball fell to David Davis at a narrow angle, but he could only find the side netting.
Birmingham striker had an opportunity to give the home side the lead when he went through on goal, but Rob Green made a fine save to deny him and keep the scores level.
That save proved to be vital as the Whites made a breakthrough less than a minute later. Luke Ayling played a great ball forward and Chris Wood made a brilliant run before lobbing the ball over the out-coming Birmingham goalkeeper, nothing up his 21st goal of the season to become the leading scorer in the Championship.
The home side had an opportunity to hit back from a corner. The ball pinged around the Leeds area before falling to Paul Robinson, who saw his effort blocked before United cleared.
Gardner then went close from a free-kick on the right wing, his attempt went just over Green’s crossbar.
Dallas had a good chance to double the lead for Leeds, the ball fell to him in a great position, but he could only blaze his effort over.
The home side almost levelled just before the break, when Robert Tesche fired a half volley from 30 yards, which rattled the Leeds crossbar.
Half Time: Birmingham City 0-1 Leeds United
After the break the home side came out strongly and Gardner fired a shot from distance but couldn’t find the target.
Che Adams then had two great opportunities to pull the home side level, first he saw a header cleared off the line by Kyle Bartley, before firing over from inside ten yards just moments later.
Birmingham did get a leveller in the 63rd minute, Gardner found the bottom left corner with a fine low strike from 25 yards.
However it took Leeds less than four minutes to hit regain the lead, Souleymane Doukara sent substitute Kalvin Phillips into the box and he played the ball across goal for Wood to slot home his second of the match.
Pablo Hernandez came close to extending United’s lead, he was teed up in the area by Ayling, forcing Kuszczak into a good save.
Leeds got a third goal nine minutes from time, Hernandez played Alfonso Pedraza through and he found the right corner with a fantastic finish.
Wood had the chance to score a hat-trick at the death following a mistake by Birmingham defender Ryan Shotton, but he was denied a third by Birmingham’s goalkeeper.
The win keeps United in fourth spot in the Championship and extends the Whites unbeaten run to four matches.
Full Time: Birmingham City 1-3 Leeds United
Birmingham: Kuszczak, Nsue, Robinson, Shotton, Kieftenbeld (Jutkiewicz 62), Tesche, Gardner, Adams (Sinclair 89), Dacres-Cogley, Davis, Keita (Frei 82). Subs not used: Legzdins, Grounds, Gleeson, Bielik.
Leeds: Green, Ayling, Bartley, Jansson, Berardi, Bridcutt, O’Kane (Phillips 59), Hernandez (Roofe 82), Doukara, Dallas (Pedraza 73), Wood. Subs not used: Silvestri, Cooper, Roofe, Phillips, Sacko, Barrow, Pedraza.
Booked: Davis, Tesche (Birmingham)
Referee: C. Kavanagh
Venue: St Andrews
Attendance: 20,321 (3,281 Leeds)