Tillakaratne Dilshan smashed 144 before taking 4-4 to help Sri Lanka beat Zimbabwe by 139 runs and reach the World Cup quarter-finals on Thursday.
Together with fellow opener Upul Tharanga, who hit a career-best 133, Dilshan put on a new World Cup opening stand of 282 to guide Sri Lanka to an imposing 327-6 before a packed 30,000 crowd at Pallekele stadium.
Zimbabwe made a fighting reply with Brendon Taylor (80) and Regis Chakabva (35) through a solid 116-run start before the innings fell apart, as they lost their last their last nine wickets for just 63 runs.
Dilshan, who bettered his previous best of 4-29 against India at Dambulla in 2005, also became the 11th all-rounder, and the second Sri Lankan behind Sanath Jayasuriya, to score a hundred and take four wickets in an ODI.
The result meant Sri Lanka, with seven points from five matches in Group A, become the first side to enter the last eight.
New Zealand, with six points from four matches, Pakistan (six from four) and defending champions Australia (five from three) are virtually certain of filling the three other qualifying places from the group.
Sri Lanka owed their total to Dilshan and Tharanga who set the ball rolling after they were put into bat on a batting-friendly pitch, just failing to beat the world record first wicket stand of 286 runs.
Tharanga, who also featured in that stand, with Jayasuriya against England at Leeds in 2006, hit his 10th one-day hundred, while Dilshan notched his ninth, and second in the World Cup.
Their stand was also the fourth highest partnership for any wicket in ODI history.
Dilshan, 34, smashed one six and 16 boundaries during his attractive 131-ball knock, cutting loose as early as in the second over, hitting paceman Tinashe Panyangara for three boundaries and a six.
The 26-year-old left-hander Tharanga, whose previous best of 120 came against England at Lord's in 2006, hit 17 boundaries during his 141-ball innings, as both the openers batted without trouble.
Dilshan reached his hundred with a quick single towards cover off Elton Chigumbura, taking 95 balls to reach the three-figure as a capacity 30,000 gave him a standing ovation.
In the 33rd over, Tharanga hit Tinashe Panyangara for another boundary to create a new World Cup record for the first wicket, beating the 194 set by Pakistan's Saeed Anwar and Wajahatullah Wasti, against New Zealand at Manchester in 1999.
Tharanga soon joined Dilshan as century maker when he drove Raymond Price toward extra-cover to reach his first World Cup hundred.
Tharanga was the first to go, miscuing a drive off paceman Christopher Mpofu in the 45th over, while Dilshan fell to a lofted shot off spinner Prosper Utseya in the next.
Mpofu then chipped in with wickets of Mahela Jayawardene (nine), Angelo Mathews (nought) and Chamara Silva (four) to finish with 4-64 in an otherwise hapless Zimbabwean bowling show.
Sri Lanka now face New Zealand in their last match in Mumbai on March 18 which will decide where they finish in the group.
Zimbabwe, with two points from four matches, can still make it to the quarters (on better net run-rate) if they win their last two matches, the first of which is against Pakistan on Monday and the next against Kenya on March 20.