Match ends, Queens Park Rangers 2, Charlton Athletic 2.
Naby Sarr scored deep into injury-time to earn Charlton Athletic a precious point in a derby draw with Queens Park Rangers, although their winless run still moves on to 11 games.
The Addicks twice had to come from behind in the first meeting of the sides since April 2016, as Lyle Taylor nudged the ball past Joe Lumley on his first start since August to cancel out Geoff Cameron's opener when Charlton failed to clear a Eberechi Eze free-kick.
Marc Pugh, having combined with impact substitute Bright Osei-Samuel to restore the lead, looked to have won it for Rangers with his goal 20 minutes from time.
But Sarr, pushed up front in desperation by away boss Lee Bowyer, pounced on a sloppy back-header by the home defence and kept his cool to beat Lumley five minutes into time added on.
The draw leaves Charlton six points above the bottom three, while Rangers went from just three points away from Swansea in sixth, to five points adrift.
Although they remain on a long winless run, this point will feel like a moral victory for Bowyer, whose side has been decimated by injuries in recent weeks.
Despite the welcome return of Taylor, defender Lewis Page, midfielders Josh Cullen, Jake Forster-Caskey, Beram Kayal and Erhun Oztmer, and forwards Chuks Aneke and Tomer Hemed were all absent.
He was not afraid to make an early change in swapping Jason Pearce for Ben Purrington, and switching to three at the back which seemed to bring the visitors into the game after a bright opening by the hosts.
QPR could have had the game in the bag had Nakhi Wells and Osei-Samuel both taken golden chances one-on-one with Dillon Phillips, who frustrated the visitors with some big saves.
Likewise, Taylor struck the woodwork with a header at 2-1 down, and Alfie Doughty fizzed a shot just wide as Charlton had their own opportunities to pinch it.
QPR manager Mark Warburton:
"We weren't clinical enough. Everyone will naturally focus on an equaliser with 11 seconds to go but the fact is the game should have been over by then.
"If we're more clinical then it relieves the pressure and removes the nerves of the crowd. The game should have been out of sight. We didn't finish them off.
"We had 21 shots on goal and 11 on target. But football's about putting the ball in the back of the net and if you're not clinical you can pay the price - and we paid the price with 11 seconds to go."
Charlton manager Lee Bowyer:
"It may be that change of luck. For the ball to fall to Naby a couple of things went our way - they should probably have cleared it and it ended up going into Naby's path.
"Hopefully that's the bit of luck that we needed and things start going our way because of late there's a lot of things not been going our way.
"It was the least we deserved. We created a hell of a lot of chances and on another day we should win the game comfortably. If we'd have lost this game it would have been another tough one to take."
- 14ManningBooked at 53mins
- 8AmosBooked at 55minsSubstituted forScowenat 78'minutes
- 7PughSubstituted forChairat 78'minutes
- 21WellsSubstituted forOsayi-Samuelat 66'minutes
- 9HugillBooked at 81mins
- 2MatthewsBooked at 89mins
- 3PurringtonBooked at 11minsSubstituted forPearceat 27'minutesBooked at 53mins
- 15PratleyBooked at 17mins
- 14LekoSubstituted forMorganat 11'minutesBooked at 53mins
- 45DoughtySubstituted forOshilajaat 88'minutes
- Matt Donohue
- Shots on Target
Second Half ends, Queens Park Rangers 2, Charlton Athletic 2.
Goal! Queens Park Rangers 2, Charlton Athletic 2. Naby Sarr (Charlton Athletic) right footed shot from the centre of the box to the bottom right corner.
Attempt saved. Eberechi Eze (Queens Park Rangers) right footed shot from the left side of the box is saved in the bottom left corner. Assisted by Ilias Chair.
Attempt blocked. Jordan Hugill (Queens Park Rangers) right footed shot from the centre of the box is blocked. Assisted by Geoff Cameron.
Corner, Queens Park Rangers. Conceded by Jason Pearce.
Attempt blocked. Eberechi Eze (Queens Park Rangers) left footed shot from the centre of the box is blocked. Assisted by Ryan Manning.
Corner, Queens Park Rangers. Conceded by Adedeji Oshilaja.
Attempt blocked. Bright Samuel (Queens Park Rangers) left footed shot from the right side of the box is blocked. Assisted by Ilias Chair.
Adam Matthews (Charlton Athletic) is shown the yellow card for a bad foul.
Eberechi Eze (Queens Park Rangers) wins a free kick in the defensive half.
Foul by Adam Matthews (Charlton Athletic).
Attempt missed. Jordan Hugill (Queens Park Rangers) header from the centre of the box is high and wide to the right. Assisted by Ryan Manning with a cross.
Substitution, Charlton Athletic. Adedeji Oshilaja replaces Alfie Doughty.
Eberechi Eze (Queens Park Rangers) wins a free kick on the left wing.
Foul by Albie Morgan (Charlton Athletic).
Attempt missed. Jordan Hugill (Queens Park Rangers) right footed shot from outside the box is too high. Assisted by Bright Samuel.
Offside, Queens Park Rangers. Ryan Manning tries a through ball, but Jordan Hugill is caught offside.
Jordan Hugill (Queens Park Rangers) wins a free kick in the attacking half.
Foul by Tom Lockyer (Charlton Athletic).