After reaching the last four of the UEFA Cup last Thursday, Steve McClaren's side served up another treat to do likewise in the FA Cup.
But McClaren declared afterwards : "we need to take this opportunity.
"We came out on top because we took the chances when they came. In the next three and a half weeks we've got a game every three days but I'd rather be in that position than just playing for the league and not cups.
"We've got to make the most of this," he said.
Opposite number Alan Curbishley admitted the goalscoring class of Hasselbaink and Viduka made the difference.
"We got off to a flyer and had a couple of great chances but we didn't take them and went in at half-time 2-1 down," he said.
"Viduka and Hasselbaink produced two great finishes. They were the difference."
Within five minutes Charlton had their fans out of their seats and almost celebrating the opener with two glorious chances.
The first came after 60 seconds, with Dennis Rommedahl floating a cross to the far post where Shaun Bartlett stooped for a diving header that was bundled away by Mark Schwarzer.
Rommedahl created the Londoners' next opportunity, dinking a ball in from the left-hand edge of the area.
Bryan Hughes failed to connect with a free header from six yards, and Darren Bent's shot from three yards was superbly blocked by Schwarzer.
The first goal arrived in spectacular fashion after a Fabio Rochemback strike in the 11th minute.
Chris Perry's foul on Mark Viduka teed up the Brazilian from 35 yards and he had the Boro supporters rocking with a curled free-kick round the wall, beating Thomas Myhre for pace.
But the lead lasted just 75 seconds as the home side fell asleep at the back, allowing Hughes to poke home from 10 yards. It could have been 2-1 to Charlton less than two minutes later but for a fingertip stop from Schwarzer in turning away a scuffed shot from Bent.
But a move started and finished by 19-year-old James Morrison restored Boro's advantage.
His initial through pass was flicked on by Hasselbaink into the area where the ball ricocheted off Viduka and Charlton skipper Hermann Hreidarsson.
It kindly ran to Morrison who coolly slipped his second goal of the season.
Myhre then produced an outstanding save to thwart Boro, tipping away a goal-bound Hasselbaink header.
Radostin Kishishev and Viduka traded shots before the break, and it appeared there would be more action in the second half.
A 30-yard run and strike by Hasselbaink after just two minutes brought another superb save, but the game then went off the boil until three goals in four minutes late in the second half.
Hasselbaink opened up a 3-1 cushion in the 73rd minute, Morrison setting up the striker for a first-time cracker. .
Inside two minutes Charlton pulled one back, with Boro captain Gareth Southgate the unlucky beneficiary of a ricochet after Schwarzer had blocked at point-blank range from Perry.
But then came the goal of the game from Viduka.
With his back to goal in receiving a pass from Stuart Parnaby, Viduka twisted and turned his way past Perry and Hreidarsson before despatching an incisive finish past Myhre.
: Schwarzer, Parnaby, Riggott, Southgate, Taylor, Morrison, Boateng, Rochemback, Downing, Viduka, Hasselbaink (Ehiogu 80).
: Myhre, Spector, Hreidarsson, Perry, Powell, Rommedahl, Kishishev (Euell 78), Holland (Thomas 59), Hughes, Darren Bent, Bartlett (Bothroyd 61).
: P Dowd.
: Liechtenstein U21 1 N Ireland U-21 4
: Chester 2 Wrexham 1.
: USA 1 Jamaica 1; Turkey 1 Azerbaijan 1.