Spinner Muttiah Muralitharan broke Shane Warne's all-time Test wickets record on the third day of the first Test to pave the way for Sri Lanka to edge into control against England on Monday.
Muralitharan broke the record in the morning as he claimed 6 for 55 in 35 overs and England were bowled out for 281, securing a valuable 93 first-innings lead in a low-scoring game.
Veteran opener Sanath Jayasuriya, who later announced the match would be his final Test, was out for 78 as the hosts reached 167 for two at stumps to lead by 74 with two days remaining.
Jayasuriya, who hit ten fours and a six, added 113 for the first wicket with fellow left-hander Michael Vandort, who scored 49 from 143 deliveries before being caught in the slips just before bad light stopped play.
Kumar Sangakkara finished unbeaten on 30 with skipper Mahela Jayawardene yet to get off the mark.
Tied with Warne overnight, Muralitharan was forced to wait until his second spell of the morning before moving off the 708-wicket mark, bowling Paul Collingwood with a delivery from around the wicket that nipped straight on.
England had resumed on 186 for six, trailing Sri Lanka's first innings total by two runs, but repelled Muralitharan and the host's bowlers during the first hour as Collingwood (45) and Ryan Sidebottom (31) added 57 runs for the seventh wicket.
Lasith Malinga picked up the wicket of Sidebottom before Murali brought the house down.
The landmark wicket of Collingwood was greeted with loud firecrackers all around Asgiriya International Stadium and wild celebrations from a full house that included hundreds of children from his old school, his family and closest friends.
"The England batsmen played well in the morning and it was getting a bit tougher for me as this pitch is getting slower and slower," Muralitharan told reporters.
"The delivery to Collingwood was supposed to be an off break but it went straight on so I guess was lucky."
The 35-year-old added to his tally in the next over with the wicket of Matthew Hoggard (15), who was brilliantly stumped down the leg-side by wicketkeeper Prasanna Jayawardene.
Muralitharan finished the innings with figures of 6-55, the 61st time he has taken five wickets in an innings.
Jayasuriya, playing his 110th Test for Sri Lanka, cut loose in the 19th over of the innings, picking up six consecutive boundaries off James Anderson, including one streaky edge that Ian Bell could not hold on to at slip when he was on 35.
Hoggard finally broke through in the evening session as he trapped Jayasuriya lbw.
Vandort flashed at a wide delivery from Anderson and edged to Bell at slip.
England batsman Kevin Pietersen did not take the field in the second innings having fractured a bone in the little finger of his right hand. A spokesman said Pietersen will be able to bat in the second innings.