Patrick Bamford bagged an early goal, his ninth league goal of the season, in the sixth minute as Boro started brightly.
Even though Johann Berg Gudmundsson temporarily spoiled the Riverside party with a 37th-minute wonder strike, second-half goals by Jelle Vossen and Lee Tomlin gave the Teessiders their ninth home win of the campaign.
It did not take long for Boro to open the scoring against Charlton, who are now without a win in 12.
When Bamford’s glancing header was deflected wide for a corner in the fifth minute, the on-loan forward was left unmarked in the box to head Grant Leadbitter’s set-piece past Marko Dmitrovic.
The home side almost doubled their lead in the 13th minute when Leadbitter charged forward before his powerful shot was deflected inches wide by Addicks skipper Chris Solly.
Bamford went close to a second two minutes later when Tomlin did well to find the striker on the edge of the area, but his shot was well saved by Dmitrovic.
The goalkeeper had to be on his toes again in the 26th minute when Boro attacked and Vossen got a powerful 20-yard shot away which Dmitrovic punched away to safety.
Boro were given a reprieve in the 28th minute when they conceded a free-kick just outside the box, but Gudmundsson’s effort flew over the bar.
The Icelandic midfielder did find the net in the 37th minute, though.
Tony Watt did well before laying off for Gudmundsson and he hammered a first-time left-footed effort which Dimitrios Konstantopoulos could only help into the net.
The Teessiders regained the lead just two minutes after the restart when Tomlin’s shot was charged down, but the midfielder followed through on goal before pulling the ball across goal for Vossen to tap in from six yards.
It was almost three in the 57th minute when Adam Clayton shot through a crowd of players, but Dmitrovic was well placed to scoop it up.
Vossen should have made it three in the 64th minute when Tomlin played him in on goal with a brilliant threaded ball, but the Belgian took one touch too many before Dmitrovic gathered at his feet.
Vossen was in the thick of it again in the 71st minute when he controlled brilliantly with his chest mid-way through the Charlton half. He laid off for Tomlin who played the one-two but Vossen’s shot was deflected wide for a corner.
Boro looked to kill the game off in the 87th minute when substitute Adam Reach broke down the left but his cross was cleared for a corner.
But moments later Boro made sure of all three points when Tomlin volleyed in from the edge of the area to complete a comfortable win.