Championship Wrap: Crucial win for Charlton
Johnnie Jackson's last-minute strike earned Chris Powell's side a crucial three points in their battle to avoid the drop to League One, moving them to within one point of safety with three games in hand over Millwall immediately above them.
Their day will only have been soured by the news that the two teams below them, Barnsley and Yeovil Town, also enjoyed 1-0 victories.
Jim O'Brien's fourth-minute goal earned Danny Wilson's Barnsley the points against Millwall, while James Hayter struck from the penalty spot as Yeovil overcame Doncaster Rovers to end a five-match winless league run.
For their part, QPR are now seven points adrift of the second automatic promotion slot, which is currently held by Burnley after their 3-1 win over top-six rivals Nottingham Forest at Turf Moor.
The hosts did all the damage in the first half, racing into a three-goal lead thanks to Scott Arfield and two from Sam Vokes inside the opening 35 minutes.
Vokes now has 17 league goals for the season, and although Forest improved in the second half, their 80th-minute consolation from Djamel Abdoun, following up his own saved penalty, was all they could muster.
Derby County kept the pressure up on Sean Dyche's side with a late 1-0 win over Bournemouth, Chris Martin's 85th-minute winner proving the difference, while leaders Leicester City continued their seemingly unstoppable march to the title with a routine 3-0 win over Ipswich Town.
Nigel Pearson's side remain eight points clear after goals from Jamie Vardy, David Nugent and Chris Wood extended their unbeaten league run to 12 matches.
Wigan Athletic won 2-1 at Brighton and Hove Albion to keep up the pressure on sixth-placed Reading, who lost 1-0 at home to Blackburn Rovers, while Sheffield Wednesday continued to pull well clear of the drop zone with a 2-0 success at Huddersfield Town.
Elsewhere, Bolton Wanderers won for the first time in the league since Boxing Day with a 2-0 victory over Watford, Birmingham City beat Blackpool 2-1 and Middlesbrough and Leeds United ended goalless.