Skipper Mahela Jayawardene led from the front as Sri Lanka took a stranglehold on the second Test against England.
The hosts lost just two wickets throughout the third day, closing on 379-4 to give them a useful first innings lead of 28, with six wickets still in hand.
Already 1-0 up in the series after victory at Kandy, the Sri Lankans will now be eyeing up the chance to wrap up the series in Colombo.
Jayawardene was the star turn, the hometown favourite continuing his love affair with the Sinhalese Sports Club. The right-hander finished the day unbeaten on 167.
His efforts meant he went past 2,000 Test runs at the venue while he also passed the recently-retired Sanath Jayasuriya as his country's leading Test run-scorer, becoming the first Sri Lankan to pass 7,000 in the process.
After being bowled out for 351, England's victory hopes had been boosted by Ryan Sidebottom taking two early wickets with the new ball.
However, by the time the tourists struck for a third time the match situation had changed somewhat.
After batting out the final session of day two unscathed, Vandort and Jayawardene continued their steady progress to blunt the bowlers.
With the ball softening the pair looked in little trouble, although they did need the occasional slice of luck to survive.
Vandort benefited from the lack of a second slip to get away with an edge off Sidebottom, while he was beaten three times in one over by Steve Harmison.
Monty Panesar may have been expected to pose the biggest threat but he struggled for consistency, Kevin Pietersen looking the most likely spinner to make a breakthrough.
Despite the odd scare, the tall left-hander looked comfortable at the crease and registered his fourth Test ton before lunch.
It wasn't until the second new ball was taken in the afternoon that Vandort finally fell, the opener playing around a straight ball from Sidebottom to be trapped lbw.
The left-arm seamer's third wicket of the innings ended the stand of 227 and gave England an opportunity to force their way back into the contest.
Instead Chamara Silva (49) came out to join his captain and put on another big stand - this one worth 128 runs in 44 overs - until Harmison was rewarded for a banged-in effort ball late in the day to give the Barmy Army something to cheer about just before the close.