Karlan Grant’s 91st-minute goal against Shrewsbury gave Charlton their first win of the season.

Lenell John-Lewis’ header cancelled out Lyle Taylor’s opener as the Addicks conceded late on and looked to be heading for a draw.

But Grant’s looping header reversed last weekend’s injury-time misery at Sunderland when Lynden Gooch scored with seconds remaining.

Charlton caretaker boss Lee Bowyer made just one change to the side that lost 2-1 to the Black Cats with Naby Sarr replacing the injured Jason Pearce.

A minute’s applause was held prior to kick-off to commemorate four-year-old boy Jack Jeffreys, who lost his battle with cancer last month.

Grant and Lewis Page flashed balls across goal with both just evading Charlton bodies in the opening stages of an uneventful first-half.

Shrewsbury threatened when Omar Beckles headed wide from a corner before Greg Docherty dragged a close-range effort off target.

Charlton’s clearest chance of the half came after George Lapslie played Grant through on goal, but the attacker was thwarted by Ryan Haynes’ superb last-ditch tackle.

Dillon Phillips did brilliantly to get down low to deny Aaron Amadi-Holloway’s header following the restart.

Shrewsbury continued to look dangerous from set-pieces. Luke Waterfall headed a free-kick back across goal to Docherty, whose shot was cleared off the line by Chris Solly.

And against the run of play, Charlton took a 62nd-minute lead when Lapslie’s inviting cross was powered home by Taylor on his home debut.

The Addicks were solid at the back and never looked like conceding until substitute John-Lewis struck with seven minutes to go. Alex Gillead’s cross was headed in by the striker.

But Charlton hit back in injury-time as Grant headed home Darren Pratley’s delivery.

Charlton XI: Phillips, Solly, Bauer, Sarr, Page, Lapslie (Dijksteel 89), Pratley, Aribo, Marshall (Morgan 46), Grant, Taylor (Hackett-Fairchild 90).

Subs not used: Maynard-Brewer, Ajose, Maloney.