After Sri Lanka declared its second innings on 305-4, setting Bangladesh a winning target of 467, the hosts were 12 without loss at stumps. Tamim Iqbal and Shamsur Rahman were on 7 and 4 respectively. (Scorecard)

Having scored 587 in its first innings and bowling out Bangladesh for 426, Sri Lanka continued its onslaught in style to keep its position of command intact in the second innings.

Sangakkara, who hit a career-best 319 runs in the first innings, added 105 in the second on Friday to join former England captain Graham Gooch in an exclusive club.

Sangakkara was dropped on 36 by Nasir Hossain at deep mid-wicket off the bowling of Shakib Al Hasan.

He missed the chance of breaking Gooch's record for most runs in a Test - he required 138 - as he was dismissed by Sohag Gazi after facing 144 balls, including 11 boundaries and two sixes.

Sangakkara was possibly not aware of the record by Gooch.

"He just played to add runs, he had no such points in his head when he was at the crease," Sri Lanka manager Michael de Joysa said.

Gooch scored 333 and 123 against India at Lord's in 1990.

It was Sangakkara's 35th Test century, fifth best on the all-time list, and the second time he's scored two centuries in a Test, both times against Bangladesh.

Sangakkara and wicketkeeper Dinesh Chandimal combined for 145 for the fourth wicket. Chandimal struck an unbeaten 100, the third of his 12-Test career, and all three at the expense of Bangladesh.

Chandimal used 158 balls and hit only four boundaries, and as soon as he reached three figures skipper Angelo Mathews declared the second innings with Sri Lanka having scored more than four runs an over. Mathews was not out on 43.

Mahmudullah took 2-46 while Shakib Al Hasan returned 1-80.

Mahela Jayawardene was the only batsman dismissed in the middle session, trapped lbw by Shakib for 11.