Match ends, Middlesbrough 3, Charlton Athletic 1.
Middlesbrough extended their unbeaten run to nine matches with victory over Charlton Athletic.
Patrick Bamford nodded home Boro's opening goal from a Grant Leadbitter corner early on.
Johann Berg Gudmundsson fired home an equaliser after Addicks keeper Marko Dmitrovic made a string of fine saves.
Jelle Vossen eventually added a second for the hosts with a tap-in finish after the break and Lee Tomlin ensured victory with a late volley.
The win sees Aitor Karanka's side keep pace with the Championship's top two sides, Bournemouth and Derby County, who both also eased to victory on Saturday.
Defeat is Guy Luzon's first since taking charge of Charlton, who have now lost seven of their last 13 games in all competitions to slip to 19th in the table.
After Bamford's glancing header was deflected wide for a corner in the fifth minute, the on-loan Chelsea forward was left unmarked in the box to head Leadbitter's set-piece past Dmitrovic.
Leadbitter threatened to make it 2-0 and Bamford and Vossen were both foiled by Dmitrovic before Charlton hit back through Gudmundsson, who met a Tony Watt pass to rifle a first-time shot past Dimitrios Konstantopoulos.
The Teessiders regained the lead two minutes after the restart when Tomlin's shot was charged down, before the midfielder pulled the ball across goal for Vossen to tap in from six yards.
Vossen could have made it three after again linking up with Tomlin, but the Belgian failed to take his chance before Dmitrovic gathered at his feet.
While Boro piled the pressure on, it was not until two minutes from the end that Tomlin volleyed in from the edge of the area to complete victory.
Middlesbrough manager Aitor Karanka:
"Football's about goals and when you have strikers like ours it's important they're all scoring, and that's what's happening at the moment. We're going to need all of them.
"It's a very important win, especially when we've not played our best performance, especially in the first half.
"Goal difference could be really important at the end of the season and any point you lose now is difficult to recover again, because Bournemouth and Derby are winning their games and we have to keep winning in the same way."
Charlton manager Guy Luzon:
"The first half we played very well. We scored a goal and moved the ball well and created chances, but you can't allow a team like Middlesbrough to score the goals they did at the start of each half.
"They're one of the best teams in the league and we can't play for just 60 minutes, we need to concentrate for the full 90 minutes.
"The goal early in the second half broke our spirit and our passion."
- 27AdomahSubstituted forReachat 72'minutes
- 21VossenSubstituted forKikeat 89'minutes
- 23BamfordSubstituted forForshawat 72'minutesBooked at 82mins
- 26Ben Haim
- 7Berg Gudmundsson
- 17BuyensSubstituted forLepointat 85'minutesBooked at 87mins
- 5VeljkovicSubstituted forJacksonat 35'minutes
- 18ChurchSubstituted forVetokeleat 58'minutes
- 6Bikey Amougou
- Trevor Kettle
- Shots on Target
Second Half ends, Middlesbrough 3, Charlton Athletic 1.
Attempt saved. Johann Berg Gudmundsson (Charlton Athletic) left footed shot from outside the box is saved in the bottom left corner. Assisted by Tal Ben Haim.
George Friend (Middlesbrough) wins a free kick in the defensive half.
Foul by Jordan Cousins (Charlton Athletic).
Substitution, Middlesbrough. Kike replaces Jelle Vossen.
Goal! Middlesbrough 3, Charlton Athletic 1. Lee Tomlin (Middlesbrough) right footed shot from outside the box to the bottom right corner. Assisted by Grant Leadbitter with a cross following a corner.
Corner, Middlesbrough. Conceded by Tal Ben Haim.
Substitution, Charlton Athletic. Christophe Lepoint replaces Yoni Buyens.
Attempt missed. Lee Tomlin (Middlesbrough) left footed shot from outside the box misses to the left. Assisted by Adam Clayton.
Adam Forshaw (Middlesbrough) is shown the yellow card for a bad foul.
Foul by Adam Forshaw (Middlesbrough).
Jordan Cousins (Charlton Athletic) wins a free kick in the attacking half.
Attempt missed. Johann Berg Gudmundsson (Charlton Athletic) left footed shot from outside the box is close, but misses to the right. Assisted by Chris Solly.
Hand ball by Jordan Cousins (Charlton Athletic).
Offside, Middlesbrough. Kenneth Omeruo tries a through ball, but Adam Reach is caught offside.
Attempt missed. Chris Solly (Charlton Athletic) right footed shot from outside the box is too high following a set piece situation.
Foul by Kenneth Omeruo (Middlesbrough).
Igor Vetokele (Charlton Athletic) wins a free kick in the attacking half.
Substitution, Middlesbrough. Adam Reach replaces Albert Adomah.