The tourists, who won the first Test by an innings and 248 runs in Dhaka last week, took their overnight score of 314-5 to 440-7 by lunch on the second day at the Zahur Ahmed Chowdhury stadium.
Left-handed Sangakkara was unbeaten on 223, adding another double hundred to his 34 three-figure knocks. Australian legend Don Bradman leads the list with 12 scores of 200 or more.
Sangakkara, a 36-year-old playing his 122nd Test, reached 200 with a boundary off Mohammad Mahmudullah which also brought up the 400 of the innings.
Overnight batsman Kithuruwan Vithanage helped Sangakkara add 90 for the sixth wicket when the hosts hit back twice in successive overs.
Also Read
Vithanage, who scored a maiden Test century in Dhaka, was given out leg-before to Nasir Hossain for 35 even as television replays showed an inside edge off the bat. The Decision Review System is not being used for the series.
In the next over, Shakib Al Hasan dismissed Dilruwan Perera leg-before as Sri Lanka slipped from 402-5 to 405-7.
Left-arm spinner Shakib was Bangladesh's most successful bowler with three wickets for 90 runs.