But they still left London frustrated after poor defending saw them concede two goals from set-plays.
Here we rate how Slaven Bilic's players performed at The Valley.
The keeper presented Charlton with a chance early on when he passed the ball straight to Connor Gallagher. He may also feel he could have done better for Tom Lockyer's goal – with Johnstone only able to push the ball against the inside of the post despite getting a strong hand to it. 5
Up against Andre Green, Furlong kept the Villa loanee in check throughout. The full-back also did what he could to provide an attacking outlet with the 24-year-old sending in a number of dangerous crosses. He also went close with an acrobatic attempt on goal. 6
Right from the off the Nigerian international looked out of sorts with wayward passing and poorly timed challenges inviting pressure. Ajayi will also be disappointed with his role in Josh Davison's goal. Improved and looked a lot more like himself after the interval. 5
Albion's centre-backs have been in excellent form this season. But like Ajayi, Bartley will be disappointed with the part he played in Davison's goal. He was also out of position when the unmarked Lockyer headed in Charlton's second. 5
The full-back was really bright in the opening 25 minutes and remained a threat going forward throughout. Intelligent in possession, Townsend stuck to his defensive duties well and also impressed when linking up with Matheus Pereira down the left. 7
Another performance where the captain led by example with Livermore popping up all over the park to ensure he protected his back four. The 30-year-old's nous and reading of the game was particularly key when the match became stretched in the second half. 7
Always eager to have the ball, Sawyers was positive throughout with the midfielder looking for a forward pass whenever in possession. A touch deep at times, he would perhaps have had more of an influence on the game if he had got higher up the pitch. 7
Anonymous in the first-half, Phillips sprung to life following the re-start and delivered the cross for Hal Robson-Kanu's goal. That boosted his confidence with the winger then enjoying a spell where he looked really dangerous. He needs to maintain that effectiveness for longer spells though. 6
Deployed on the left-wing, Pereira really should have scored when he was allowed to run through on goal despite Robson-Kanu and Lockyer wrestling in the middle of the park. At times the Brazilian showed flashes of his talent, but he is much more effective in that number 10 role. 6
Man of the match. Operating just behind Kenneth Zohore, Robson-Kanu held the ball up well, produced some wonderful bits of skill and also got himself on the score sheet with his intelligent movement allowing him to latch onto Phillips' cross. A really impressive all-round display. 8
A surprise inclusion despite netting against Charlton six days earlier, Zohore got himself on the score sheet yet again with an excellent goal that saw him first win possession from a defender before firing past Dillon Phillips. Particularly bright in the first-half, the centre-forward did look a touch tired after the interval but impressed with his hold-up play throughout. 8
Grady Diangana (for Zohore 70)
A lively cameo which included a smart through-ball which put Townsend through on goal.
Charlie Austin (for Robson-Kanu 73)
Struggled to make an impact.
Kyle Edwards (for Phillips 87)
Not used: Bond, Hegazi, Brunt, Krovinovic