Championship wrap: Boro move into second
Rob Hulse got the home side off to the perfect start after scoring in the 12th minute but from there it was all Middlesbrough.
Jonathan Woodgate drew his side level on 27 minutes before Scott McDonald scored his fourth goal in a week to give his side a 2-1 lead just after half-time.
Emanual Ledesma then added to Charlton's misery in the 63rd minute before a stoppage-time strike from Richard Smallwood capped off the win for the vistors.
Crystal Palace celebrated the appointment of new manager Ian Holloway with an important 2-0 over Blackburn Rovers.
Although Holloway was not in the dugout during the win the home side got the job done without him with a double from Glenn Murray the difference between the sides.
The result ensures Palace stay within touching distance of the top with just one point separating them and Middlesbrough.
Blackpool's miserable week was compounded after they were dispatched by Derby County 4-1 at Pride Park.
Theo Robinson scored a double with John Brayford and Conor Sammon also getting on the score sheet in the win, which will come as a welcome boost to Nigel Clough's side after two successive draws.
Hull City recorded an important 1-0 win over Barnsley to consolidate their spot in the top six of the table with a first-half strike from Sone Aluko proving to be the difference.
Millwall were impressive as they enjoyed a 4-1 win away from home over Nottingham Forest.
An early Liam Trotter strike was cancelled out by Forest forward Billy Sharp in the 20th minute before Millwall pulled away convincingly in the second half with strikes from Darius Henderson, Chris Woods and Andrew Keogh sealing the comfortable win.
Goals either side of half-time by Almen Abdi and Fernando Forestieri were enough to give Watford all three points against Leicester City at Vicarage Road.
David Nugent pulled one back for the visitors on 71 minutes but it was not enough as Leicester's indifferent form continued.
Bottom side Ipswich Town snapped their four-game losing streak with an encouraging 1-0 win over Birmingham City. An early Dudley Campbell strike was enough to get Ipswich over the line.
In other results, Burnley defeated Wolverhampton 2-0, Huddersfield Town edged past Bristol City 1-0 and Sheffield Wednesday were too good for Peterborough in their 2-1 win.