It was Pietersen's third Test hundred and his first at Lord's. When the South African-born batsman reached 110 he passed 1,000 runs in only his 23rd Test innings as England made sure they built on their strong overnight position.
His stand with Collingwood was worth 103, an England fifth-wicket record against Sri Lanka, beating the 92 shared by Mark Butcher and Alec Stewart at Old Trafford in 2002.
The dominance of bat over ball was confirmed by the fact that three Sri Lankan bowlers, including star off-spinner Muttiah Muralitharan, on his Lord's Test debut, had conceded 100 runs or more.
England, who won the toss, resumed on 318 for three after opener Marcus Trescothick (106) had made a century on his return to Test cricket Thursday and Alastair Cook, in his first Test in England, 89.
Pietersen, 'caught' off a Farveez Maharoof no-ball on 52, was 54 not out and nightwatchman Matthew Hoggard unbeaten on two.
Five overs into the day's play Hoggard, attempting an unusually bold drive, was bowled by left-arm quick Chaminda Vaas's inswinging yorker for seven to leave England 329 for four.
Meanwhile Pietersen then drove Maharoof through extra-cover for an imperious four.
Muralitharan, who'd led the attack with two for 69 off 27 overs Thursday, came on in the 13th over of the day.
Pietersen swept Murali in controlled fashion.
And he then hoisted him for six to bring up a fifty stand with Collingwood and go into the 90s himself.
Then a four down to third man off Muralitharan gave the 25-year-old Pietersen his hundred, his first against Sri Lanka, in 129 balls with one six and 14 fours.
However, England's position in the opening match of this three-Test series was not impregnable.
Against Sri Lanka at The Oval in 1998 they made 445 batting first only to lose by 10 wickets in a game where Muralitharan took 16 wickets for 220.