Kumar Sangakkara struck his maiden triple hundred and became the ninth batsman to score 11,000 test runs as a dominant Sri Lanka seized full control of the second and final test against Bangladesh on Wednesday (local time).
The stylish left-hander (319) was the last Sri Lankan batsman to fall after a marathon 482-ball knock that included 32 boundaries and eight sixes as the tourists amassed 587 before being all out when second day's tea was called.
In reply, Bangladesh reached 86 for one wicket at stumps after losing opener Tamim Iqbal for a duck in the first over of their innings at Chittagong's Zahur Ahmed Chowdhury Stadium.
Shamsur Rahman (45) and Imrul Kayes (36) both survived a dropped chance each to remain unbeaten at close with the hosts still trailing Sri Lanka by 501 runs.
Batting on 286 with number 11 batsman Nuwan Pradeep, Sangakkara hit left-arm spinner Shakib Al Hasan for a four and two sixes off successive deliveries to go past his previous best score of 287 and reach his maiden triple hundred in spectacular fashion.
Sangakkara, 36, was fastest to the 11,000 test-run club, having bettered West Indies batting great Brian Lara's record by five innings.
Kithuruwan Vithanage (35) and Ajantha Mendis (47) provided able support to Sangakkara and added 90 and 100 for the sixth and eighth wickets respectively.
All-rounder Shakib completed his 11th five-wicket haul but Bangladesh would require something of a miracle to win the test and square the two-match series after losing the first match in Dhaka by an innings and 248 runs.
Should bouncers be banned from cricket?