Tony Mowbray believes his Middlesbrough side eventually found their feet as they joined Cardiff at the top.
Rob Hulse put the home side in front as Boro produced a lethargic start but they successfully turned things around with goals from Jonathan Woodgate, Scott McDonald, Emmanuel Ledesma and Richard Smallwood.
Mowbray admitted three games in seven days had taken a toll on his players but was sympathetic towards opposite number Chris Powell, too.
“In the last 20 minutes we were impressive, Charlton asked us a lot of questions the first hour or so. But we had six hours on the coach, so I can forgive them the first 20 minutes” he said.
“We got confidence by coming from behind against Bolton the previous week and I thought we finished the game really strongly but it was a bit harsh on Charlton.
“As we know from last season, when you don’t win at home for a time it becomes more difficult – the team feel that. We’ve got stronger in depth, when you consider we’ve got half a team not playing, and when you think last year we won two of our last 12 and missed out on the play-offs. We can’t count our chickens.”
Charlton took the lead on 13 minutes when Hulse powered home past Jason Steele for his first goal of the season.
However, with Boro looking for their fifth straight win, Woodgate headed home from a deep free-kick in the 27th minute.
The visitors started to turn the screw, and McDonald netted his fifth goal of the campaign with a searing run and shot in the 53rd minute. Ten minutes later, Ledesma lobbed over a stranded Ben Hamer and substitute Smallwood scored a close-range effort deep into stoppage time.
Charlton Athletic: Hamer, Wilson (Stephens 46), Morrison, Cort (Haynes 76), Solly, Pritchard, Kerkar, Dervite, Jackson, Hulse, Wright-Phillips (Cook 75). Unused substitutes: Button, Taylor, Green, Hollands.
Middlesbrough: Steele, Parnaby, Bikey, Woodgate, Friend, Leadbitter, McEachran (Smallwood 90), Ledesma (Jutkiewicz 66), Bailey, McDonald, Haroun (Hoyte 90). Unused substitutes: Leutwiler, Zemmama, Halliday, Reach.
Referee: G Scott (Oxfordshire).
Man of the match: Brad Pritchard.