The hosts, who bowled out Bangladesh for a meagre 62 on the first day, moved from their lunch score of 267-2 to 385-5 by tea at the P. Sara stadium.
Sri Lanka already lead Bangladesh by 323 runs with five wickets in hand and appear set to post a formidable first innings total in good batting conditions.
Left-handed Sangakkara, who reached his 13th Test century shortly before lunch by lofting Mohammad Rafique for a six, has so far hit 18 boundaries and two sixes.
Sangakkara was involved in three big stands, adding 128 for the second wicket with Malinda Warnapura, 98 for the third with skipper Mahela Jayawardene and 92 for the fourth with Chamara Silva.
Jayawardene failed to add to his lunch score of 49 when he top-edged a hook off Shahadat Hossain to Shahriar Nafees at square-leg in the second over after the break.
Bangladesh bowlers kept a steady line and length to check the flow of runs, but their good work was undone by sloppy fielding that afforded the Sri Lankan captain two lives.
Jayawardene had not scored a run when he edged Mashrafe Mortaza between wicket-keeper Mushfiqur Rahim and first slip Habibul Bashar. Neither went for the waist-high catch.
Jayawardene then saw left-arm spinner Rafique put down a simple return catch when he was on 28.
Debutant left-arm spinner Mehrab Hossain slowed Sri Lanka's progress by removing Silva and Tillakaratne Dilshan in the space of three deliveries.
Mehrab had Silva caught low in the slips by Mortaza before bowling Dilshan after deceiving the batsman in the air.
Warnapura was the lone batsmen to be dismissed in the extended morning session for 82 after Sri Lanka resumed at their overnight score of 154-1.
Warnapura, nephew of Sri Lanka's first Test captain Bandula Warnapura, had failed to get off the mark on his debut in the previous Test last week.
The left-hander made amends by making 79 on Tuesday, but added only three more runs in 40 minutes on the second morning when he miscued a hook off Shahadat to be caught at mid-wicket.
Warnapura put on a century stand with Sangakkara to revive Sri Lanka after opener Michael Vandort had fallen cheaply for 14.
Sri Lanka won the first Test by an innings and 234 runs to take the lead in the three-match series.
Brief Scores (at tea, D-2):
Bangladesh Ist innings 62 Vs Sri Lanka Ist innings 385 for 5 (Sangakkara 170 n o, Warnapura 82, Mahela Jayawardene 49, Chamara Silva 33; Mehrab Hossain 2 for 21, Shahadat Hossain 2 for 81).