QPR made it two straight wins with a hard-fought 2-1 victory over Birmingham at St Andrew's.

Albert Adomah's 14th-minute strike got QPR off to a perfect start before Chris Willock's brilliantly-executed effort in the 71st minute sent the visitors into a two-goal lead.

Birmingham substitute Chuks Aneke smashed home to halve the deficit four minutes later but Lee Bowyer's side failed to muster another opportunity to level the scoring.

The win lifts Mark Warburton's side up to fifth in the Sky Bet Championship, only five points behind Blackburn in the automatic promotion places.

Jordan James, 17, who was impressive throughout for Birmingham, was presented with the game's first opportunity.

Troy Deeney cushioned the ball to the midfielder inside the penalty area, but his effort was too high to test Seny Dieng.

The visitors took the lead with their first real attack of the game thanks to Adomah's first goal of the season.

An electric counter-attack involving Willock and Lee Wallace on the left caused mayhem for the Birmingham defence and the former Aston Villa man latched on to George Friend's weak clearance to score in front of the Tilton Stand.

Jimmy Dunne went close to making it 2-0 moments later when Andre Gray's deflected strike was directed towards goal by the defender, but it was smartly tipped around the post by Matija Sarkic.

Birmingham struggled to threaten QPR in the first half, with Gary Gardner's left-footed strike sailing wide from just inside the penalty area.

Midfielder Ryan Woods was introduced at half-time and nearly made an instant impact after five minutes. His dink over the defence was close to being perfect but it evaded Deeney's head.

Willock, whose running was key to QPR's success, doubled their lead in the 71st minute with a brilliant solo goal for his sixth of the season.

The former Arsenal youngster showed his class by delicately dribbling through the Birmingham defence before beating Sarkic from a tight angle.

Moments later, the home side made a game of the final 15 minutes when Aneke scored for the first time since August's win over Luton.

Maxime Colin's cross managed to make its way to the back post, where Aneke was waiting to take a touch and fire into the roof of the net.

Bowyer's frustrations increased when Aneke was brought down in the penalty area after creating the space for himself well, but protests were immediately waved away.

The game's tempo died down after Friend was forced into a temporary spell in goal late on as Sarkic was taken off with an arm injury.