Charlie Austin's spectacular goal gave QPR victory over Charlton in the London derby at Loftus Road.
Striker Austin struck five minutes before half-time, finding the corner of the net with a 30-yard shot for his eighth goal of the season.
QPR were denied a second when substitute Shaun Wright-Phillips hit the woodwork in the final seconds.
The Hoops remain third despite the win but are level on points with leaders Burnley and second-placed Leicester.
Defeat leaves Charlton just one place above the relegation zone.
Rangers boss Harry Redknapp, celebrating 30 years in management, saw his team struggle to create clear-cut chances before Austin emphatically broke the deadlock.
QPR boss Harry Redknapp was celebrating 30 years in management and the club produced a special-edition match-day programme against Charlton to mark the occasion
With the Hoops continuing to dominate possession after the break, Charlton keeper Ben Hamer tipped away a free-kick from Joey Barton.
And he was also down quickly to stop Wright-Phillips's attempt from just outside the penalty area as Chris Powell's visitors were forced to defend in numbers.
Austin fluffed a late chance to score a second, miscuing from 15 yards following good work by substitute Andy Johnson.
Wright-Phillips then created room for himself on the edge of the box before curling in a shot, which beat Hamer but came back off the crossbar.
QPR assistant manager Kevin Bond:
"It was tight today and it didn't need to be.
"We could have scored more goals and we hit the bar, but we'll happily take that and it's another clean sheet for us.
"It was a great goal from Charlie and he deserved that, because when he's not scored he's worked really hard and I think the fans appreciate that."
Charlton manager Chris Powell:
"We were beaten by a wonder strike - an excellent goal.
"We acquitted ourselves well but lacked belief in the final third. We defended really well but certain things didn't go our way and that's hard to take.
"I've got to do my best to instil some confidence in the players. They know what they're up against but they're in the same league and I feel can play against these guys."
Queens Park Rangers 01 Green 02 Simpson 39 Assou-Ekotto 36 O'Neil 05 Dunne 06 Hill 07 Phillips (Johnson - 77' ) 17 Barton Booked 09 Austin 16 Jenas (Henry - 45' ) 19 Kranjcar (Wright-Phillips - 64' ) Substitutes 03 Traore 08 Johnson 11 Wright-Phillips 14 Onyewu 20 Henry 21 Young 26 Murphy Charlton Athletic 01 Hamer 23 Wilson 16 Wiggins 24 Cousins 05 Morrison 06 Dervite 14 Pritchard (Harriott - 58' ) 08 Stephens 09 Church (Kermorgant - 58' ) 04 Jackson Booked 32 Stewart (Sordell - 87' ) Substitutes 02 Hughes 03 Evina 10 Sordell 11 Harriott 12 Alnwick 15 Wood 18 Kermorgant
Ref: Dean Whitestone