Tahith Chong (second left) put Birmingham ahead at Loftus Road in the third minute
Tahith Chong's early goal at Loftus Road eased Birmingham's relegation fears and moved struggling QPR closer to the bottom three.
Chong converted Juninho Bacuna's cross after only three minutes and that proved enough for the Blues to secure a valuable away win.
Lukas Jutkiewicz almost doubled the lead, but was denied by Seny Dieng's acrobatic tip onto the bar.
The win sees the Blues climb three places to 16th, while Rangers drop to 20th, just six points above the danger zone.
- Relive Saturday's EFL action as it happened.
Rangers, who had leaked three goals inside the first quarter-of-an-hour during their 6-1 midweek drubbing at Blackpool, were quickly undone again as Birmingham scored with their first attack.
Bacuna, restored to the Blues' line-up after a two-game suspension, sped clear on the left flank and delivered a ball for Chong, who had all the time he needed to tuck it into the net from close-range.
The visitors might have increased their advantage, but George Hall was foiled by a timely block from Tim Iroegbunam and Jutkiewicz's glancing header soon afterwards was clawed away by Dieng.
Although Lyndon Dykes sent a drive whizzing over, QPR rarely threatened a response before half-time, but they improved after the break and Jimmy Dunne's header brought a save from Blues goalkeeper John Ruddy.
Dunne went close with another header from Stefan Johansen's cross, while substitute Sinclair Armstrong caused problems for the visitors' defence with a cameo in the final 15 minutes.
But they could not find a way through and it was only thanks to Dieng, tipping another Jutkiewicz attempt onto the woodwork at full stretch, that Birmingham had to battle through to the end.
It was the Blues' first victory in the capital since September 2019, when they triumphed 1-0 at Charlton.
- Line-upsMatch StatsLive Text
Line-upsQPR
Formation 3-1-4-2
1Dieng4Dickie3Dunne15Field47Iroegbunam37Adomah8Amos18Lowe2Kakay9Dykes14Martin
- 1Dieng4DickieSubstituted forArmstrongat 77'minutesBooked at 90mins3Dunne15FieldBooked at 22mins47Iroegbunam37Adomah8AmosBooked at 56minsSubstituted forJohansenat 60'minutesBooked at 90mins18LoweSubstituted forDixon-Bonnerat 82'minutes2KakaySubstituted forDreweat 45'minutes9Dykes14Martin
Substitutes
- 6Johansen13Archer17Dozzell19Dixon-Bonner28Gubbins29Drewe30Armstrong
Birmingham
Formation 4-4-2
21Ruddy2Colin4Roberts26Long5Trusty18Chong31Bielik7Bacuna17Khadra35Hall10Jutkiewicz
- 21RuddyBooked at 78mins2Colin4Roberts26LongBooked at 90mins5TrustyBooked at 81mins18ChongSubstituted forGrahamat 86'minutes31Bielik7BacunaSubstituted forChangat 64'minutes17KhadraSubstituted forMejbriat 73'minutes35Hall10Jutkiewicz
Substitutes
- 1Etheridge6Mejbri9Hogan11Graham19James23Longelo42Chang
Referee:Keith StroudAttendance:15,097Match StatsHome TeamQPRAway TeamBirminghamPossessionHome60%Away40%ShotsHome15Away10Shots on TargetHome2Away6CornersHome10Away1FoulsHome16Away16Live Text Post update
Match ends, Queens Park Rangers 0, Birmingham City 1.
90'+9'Full Time
Second Half ends, Queens Park Rangers 0, Birmingham City 1.
90'+8'Post update
Attempt saved. Alfie Chang (Birmingham City) left footed shot from more than 35 yards is saved in the top right corner. Assisted by Hannibal Mejbri.
90'+7'Booking
Stefan Johansen (Queens Park Rangers) is shown the yellow card.
90'+6'Booking
Sinclair Armstrong (Queens Park Rangers) is shown the yellow card.
90'+6'Booking
Kevin Long (Birmingham City) is shown the yellow card.
90'+5'Post update
Foul by Lyndon Dykes (Queens Park Rangers).
90'+5'Post update
Auston Trusty (Birmingham City) wins a free kick in the defensive half.
90'+4'Post update
Attempt blocked. Tim Iroegbunam (Queens Park Rangers) right footed shot from outside the box is blocked.
90'+3'Post update
Corner, Queens Park Rangers. Conceded by Marc Roberts.
90'+2'Post update
Elijah Dixon-Bonner (Queens Park Rangers) wins a free kick in the attacking half.
90'+2'Post update
Foul by Lukas Jutkiewicz (Birmingham City).
90'Post update
Corner, Birmingham City. Conceded by Aaron Drewe.
89'Post update
Foul by Jimmy Dunne (Queens Park Rangers).
89'Post update
Marc Roberts (Birmingham City) wins a free kick in the defensive half.
89'Post update
Attempt blocked. Albert Adomah (Queens Park Rangers) right footed shot from outside the box is blocked. Assisted by Sinclair Armstrong.
88'Post update
Attempt saved. Lyndon Dykes (Queens Park Rangers) header from the centre of the box is saved in the bottom right corner. Assisted by Stefan Johansen with a cross.
88'Post update
Corner, Queens Park Rangers. Conceded by Kevin Long.
86'Substitution
Substitution, Birmingham City. Jordan Graham replaces Tahith Chong.
86'Post update
Attempt missed. Lyndon Dykes (Queens Park Rangers) right footed shot from the centre of the box misses to the right following a corner.
Page 1 of 7rewindpreviousNavigate to the next pagenextNavigate to the last pageforward
Source: bbc.com