Reece James' second-half own goal cancelled Luke O'Nien's early opener as Charlton came from behind to draw 1-1 with Sunderland at The Valley.
Sunderland made the perfect start when James' second-minute cross picked out the unmarked O'Nien at the back post and he volleyed powerfully past Dillon Phillips.
Aiden McGeady and Max Power both saw attempts from outside the box go just off target as the visitors continued to dominate the early exchanges.
Charlie Wyke should have done better when he shot well wide from inside the box despite having plenty of time and space.
Wyke again went close moments later when he headed agonisingly over from the rebound after Lynden Gooch's initial shot cannoned back off the bar.
Charlton were almost back on terms a minute before the break but Kyrstian Bielik's 20-yard volley flew behind.
They were level five minutes after the interval however, thanks to the unfortunately-placed James, who converted Lyle Taylor's low cross into his own net.
Charlton were now in the ascendancy and should have been in front when Tariqe Fosu whipped in a dangerous free-kick, only for Darren Pratley to head inches wide.
Black Cats keeper Jon McLaughlin used his leg to deny Taylor in the 70th minute and the hosts again went close when Karlan Grant failed to tap home from close range after meeting Anfernee Dijksteel's delivery.
McGeady and Duncan Watmore both tested Phillips at the other end, while Taylor's cross nearly dipped in as a relieved McLaughlin looked on.
Watmore almost won it deep into stoppage time but blazed wildly over from inside the box.
In the end there was nothing to separate the two promotion chasers in what was a very entertaining encounter.