Sri Lanka set Bangladesh a daunting target of 511 to win the second Test in Chittagong on Tuesday after declaring their second innings for 157-7 on the fourth day.

Bangladesh reached 31-0 at lunch, with openers Mahmudul Hasan on 19 and Zakir Hasan on 11.

The hosts still require 480 runs, in what is a world record run chase in the remaining five sessions of the game.

Resuming on 102-6, the visitors batted for little over an hour to add 55 runs to their overnight score, before Sri Lanka captain Dhananjaya de Silva declared their innings.

Angelo Mathews, unbeaten on 39 overnight, hit the highest score with 56 runs. He was bowled by Shakib Al Hasan after completing his 41st Test fifty.

Prabath Jayasuriya was unbeaten on 28 when the declaration came, along with Vishwa Fernando, who was eight not out.

Debutant pace bowler Hasan Mahmud finished with 4-65 for Bangladesh.

Sri Lanka will not have Dinesh Chandimal in the field for the remainder of the game as he returned home due to a family emergency.

Sri Lanka, who have never lost a Test series to Bangladesh, won the first Test in Sylhet by 328 runs.