Charlton won for the third successive league game thanks to two second-half goals.

Former Addicks trainee Erhun Oztumer cancelled out Joe Aribo’s opener before Kory Roberts’ own goal gave the hosts a deserved lead.

And Stephy Mavididi wrapped up the points late on with a trademark solo effort.

The win moves Charlton two points clear of seventh-placed Rotherham.

Charlton boss Karl Robinson made just one change to the side that beat Bury last weekend with Chris Solly returning from a month’s injury-lay off to replace Anfernee Dijksteel.

Robinson also welcomed back Tariqe Fosu, who was fit enough for the bench after recovering from a quad problem that ruled him out for two months.

Walsall sat deep in the first-half, which allowed the Addicks to dominate possession.

After a lacklustre 25 minutes, Josh Magennis nearly broke his goal drought when his shot was superbly saved by Liam Roberts.

Clearly unimpressed with his team’s start, Robinson changed it up by moving Mavididi into the 10 role with Mark Marshall on the left and Ben Reeves on the right.

And it paid dividends in the 31st minute when Marshall’s left-footed cross found Aribo, who volleyed home to score his third league goal in four home games.

The Addicks were so close to doubling their advantage moments later when Mavididi struck the bar from 20 yards.

Walsall started to threaten as Ben Amos had to beat a Tyler Roberts strike away from goal before Oztumer’s effort flew inches wide.

The visitors were level just before the break when Oztumer, the smallest player on the pitch, headed in Luke Leahy’s cross. The 5ft 3ins playmaker was released by Charlton as a teenager… for being too small.

Charlton were counting their lucky stars just after the restart. Joe Edwards robbed Harry Lennon of possession and squared the ball to Amadou Bakayoko, who couldn't get a shot away thanks to Ezri Konsa’s goal-saving interception. The ball then fell to Edwards, who hit the upright.

The Addicks had a chance of their own when Reeves played Magennis through on goal, but the striker could only shoot straight at Roberts.

Fosu came on for Reeves in the 51st minute and nearly made the perfect return, however, Roberts did well to deny him from close-range.

Charlton started to really crank up the pressure when Roberts was required once again, this time to stop Mavididi from a tight angle.

Lennon made up for his earlier error by putting in a last-ditch tackle to direct Bakayoko’s shot wide.

And that was a wake up call for the hosts who saw Aribo and Lennon go so close before Magennis' header hit the post.

The breakthrough came 17 minutes from time when Mavididi’s pace put him one-on-one with the goalkeeper, and K.Roberts inadvertently poked the ball into his own net.

And Mavididi’s 89th-minute strike ensured the points remained in south-east London.

Charlton XI: Amos, Solly, Konsa, Lennon, Dasilva, Kashi, Aribo, Marshall (Ahearne-Grant 88), Reeves (Fosu 51), Mavididi (Jackson 90), Magennis.

Subs not used: Phillips, Dijksteel, Forster-Caskey, Hanlan.