The veteran right-hander made 203 not out, his seventh double-century in 33 three-figure knocks, as the tourists piled up 730-6 declared on the third day at the Sher-e-Bangla stadium.
Having gained a mammoth lead of 498 runs, Sri Lanka reduced Bangladesh to 35-1 in nine overs before stumps to step closer to an overwhelming victory in the first match of the two-Test series.
Left-arm spinner Rangana Herath, brought on after three overs, struck with his third delivery when he forced Tamim Iqbal to mistime a catch to point.
Jayawardene leapfrogged Allan Border (11,174 runs) and Shivnarine Chanderpaul (11,219) to move behind record-holder Sachin Tendulkar, Ricky Ponting, Jacques Kallis, Rahul Dravid and Brian Lara in the all-time list.
More From This Section
The 36-year-old former captain, who now has 11,236 runs in 142 matches, equalled team-mate and close friend Kumar Sangakkara's Sri Lankan record of 33 Test centuries.
Jayawardene smashed 16 boundaries and four sixes in a typically elegant innings, reaching 203 with a six over mid-wicket off Nasir Hossain.
Kithuruwan Vithanage joined the run-spree with an unbeaten 103 as Bangladesh conceded their highest ever total, surpassing the 648-9 by the West Indies in Khulna in November 2012.