Scott Hogan scored the game's only goal as Birmingham extended their unbeaten run in the Sky Bet Championship to six games with a smash-and-grab 1-0 win at struggling Barnsley.
Hogan's second-half goal, set up by teenage sensation and star man Jude Bellingham, gave the visitors the three points at Oakwell.
The 16-year-old Bellingham harried Jordan Williams and dispossessed the Barnsley full-back before finding Hogan, who turned neatly inside the box and found the top corner with a clinical left-footed strike.
Darragh Lenihan opened the scoring as Blackburn scored three times in eight second-half minutes to brush aside sorry Hull 3-0 at Ewood Park.
The game looked to be heading for a draw, despite gilt-edged chances for Rovers striker Adam Armstrong and Jackson Irvine's effort that cannoned off the woodwork at the other end.
But Tony Mowbray's side turned the game in their favour in clinical fashion in the final 17 minutes. Lenihan broke the deadlock by turning home his third goal in five games following a 73rd-minute goalmouth scramble.
They went for the jugular and Armstrong marked his 150th career league start with a stunning 25-yard strike in the 79th minute before Dominic Samuel pounced on an error from goalkeeper George Long to net his first league goal since November 2017 a minute later.
Leeds clung on to their place in the top two despite a goalkeeping gaffe from Kiko Casilla as they battled to a 1-1 draw at Brentford.
United, top of the Championship and 11 points clear of third place just two months ago, have seen that lead evaporate over the last 10 matches.
In fact Brentford would have gone above Marcelo Bielsa's wobbling Whites with a victory over them, and looked well on the way after Casilla gifted Said Benrahma his ninth goal of the season.
But Liam Cooper equalised to secure a valuable point for a side who had lost four of their previous five matches.
Fellow promotion hopefuls Nottingham Forest were dealt a blow as Charlton clinched a 1-0 success at the City Ground.
The Addicks went in front after 24 minutes through Lyle Taylor, who lashed the ball in at the far post after a break down the left from Naby Sarr.
Wigan and Middlesbrough drew 2-2 in a dramatic Sky encounter at the DW Stadium.
Sam Morsy put the Latics ahead but after Chey Dunkley was sent off just after the hour for a second yellow card, Lewis Wing's brace had the visitors in the lead within six minutes.
Harold Moukoudi's own-goal 14 minutes from time then assured the points would be shared.
Swansea and QPR fought out a drab goalless draw at the Liberty Stadium that must have left watching Wales manager Ryan Giggs unimpressed.
Giggs was among the 14,778 crowd - one of Swansea's lowest of the season - as he ran the rule over defenders Connor Roberts and Joe Rodon with the 2020 European Championship on the horizon.
But Giggs had to endure a low-quality Sky Bet Championship encounter which suggested neither side are capable of putting together the sort of run required to make the play-off places.