Kevin Pietersen smashed an unbeaten 106 off 120 balls as England showed their batting prowess to leave Sri Lanka in trouble in the second and final Test in Colombo on Thursday.
Pietersen plundered 12 boundaries and four sixes in his 20th Test century as the tourists, needing a win to level the series and retain their number one ranking, moved to 352-4 by tea on the third day.
England, who lost the first Test in Galle by 75 runs, were 77 runs ahead of Sri Lanka’s first-innings total of 275 with six wickets in hand on the slow P. Sara Oval pitch.
Alastair Cook hit 94 and Jonathan Trott followed his 112 at Galle with 64, the pair sharing a second-wicket stand of 91 after skipper Andrew Strauss had made 61 on Wednesday.
Ian Bell (18) put on 94 with Pietersen before he holed out to mid-wicket off seamer Dhammika Prasad. Matt Prior was unbeaten on four at tea.
Pietersen reached his hundred in the same over with a reverse sweep for two and celebrated the landmark by pulling the next ball for a boundary.
He had put England ahead with his third six, a straight drive off Suraj Randiv, which also brought up his half-century.
The South African-born batsman had earlier smashed two fours and a six off three consecutive deliveries from Randiv, and also hammered Dilshan high over long-off.
Cook fell six short of his 20th century for the second time in four Tests when he edged off-spinner Dilshan to skipper Mahela Jayawardene at first slip.
The 27-year-old had also fallen for 94 in the second Test against Pakistan in Abu Dhabi in January, when he was leg-before to another off-spinner, Saeed Ajmal.
The absence of the Hot Spot infra-red technology for the series reprieved Cook on 84 when slow-motion replays could not provide clear evidence whether he had gloved an attempted reverse sweep.
Trott added just two runs to his lunch score of 62 when he edged a sharp turning delivery from left-arm spinner Rangana Herath to give an easy catch to Mahela Jayawardene in the slips.