The Australia-born opener's patient 127 in a total of 320 for six helped England into a 63-run lead by stumps in the series decider.
It was also, alongside Gary Ballance's 74, a window on England's Test future as the second-wicket pair put on 142 with Robson facing 253 balls in a six-and-a-quarter-hour innings.
Robson admitted it had been an "incredible" day, but revealed he had been uncertain how to celebrate his ton. He said: "I just got off to a little bit of a start last night and fought hard to get us into a good position, but to get my Test 100, yeah, incredible."
After bringing up his century in the second over after tea, Robson seemed to take it all in his stride as he lifted his bat to the crowd, which included his parents Jim and Rosamunde.
"I didn't really know what to do I just sort of put my bat up and Ian Bell said to soak it up so that's what I did," he added.
Four wickets fell in the evening session, as the ball began to move around under encroaching cloud cover, to dampen earlier optimism but Robson still believes England are in a great position.
He said: "We're happy with the day. If we can bat well tomorrow morning and push on we'll be confident we can win this match."
But not everything in the England garden was rosy. Captain Alastair Cook got no further than the fourth over of the morning, and added just three to his overnight 14 before an indeterminate prod forward resulted in an edge low to slip off Dhammika Prasad. Ballance then announced himself with a cut for four off the same bowler to get off the mark, but neither he nor Robson proved to be in any rush. Instead, they established themselves at a traditional Test match tempo - a relatively slow grind but one which fit the bill.
Robson passed 50 before lunch, from 102 balls, and Ballance had faced 14 more when he reached the landmark in mid-afternoon with another cut for his seventh four off Nuwan Pradeep.
Ballance was reprieved by DRS on 31, when Rangana Herath - and umpire Billy Bowden - thought he was lbw, only for simulation to depict the left-armer turning the ball more than the width of the stumps.
Robson might have gone lbw on 78 to Prasad had the bowler appealed when his yorker hit the batsman on pad before bat. The partnership stayed intact until Sri Lanka captain Angelo Mathews, who finally brought himself on for the 66th over, struck with his ninth delivery to have Balance caught behind.
Robson's departure came after he was bowled through the gate driving at Pradeep before Bell edged Shaminda Eranga down the leg-side, the second of four catches for Dinesh Chandimal.
Joe Root guided Mathews behind and then Moeen Ali edged Eranga as England hit unexpected trouble in a last hour which could easily have been worse had the tourists held catches offered by Matt Prior on nought and Chris Jordan on one.