Stumps Sri Lanka 229 for 3 (Karunaratne 85*, Thirimanne 58, Taskin 1-35) trail Bangladesh 541 for 7 dec (Shanto 163, Mominul 127, Vishwa Fernando 4-96) by 312 runs

Sri Lanka weren't quite derailed by the two wickets that fell on the third evening, but it's true that Bangladesh's spinners created plenty of chances on a pitch that's roughed up considerably, more than the home side did in their long haul in the middle. Sri Lanka were 229 for 3 at stumps, still well adrift of the follow-on mark after Bangladesh declared at 541 for 7.

Sri Lanka were going well during the 114-run opening stand between captain Dimuth Karunaratne and Lahiru Thirimanne, but Bangladesh's bowlers struck thrice after that. Thirimanne fell at the stroke of tea, having made a comfortable half-century. Oshada Fernando and Angelo Mathews then both got out after getting good starts in the last session.

Mathews struck four quick boundaries before missing a length ball off Taijul Islam that was delivered from over the wicket, angling towards the off stump. Mathews fell for a 32-ball 25. Oshada was earlier caught down the leg side off Taskin Ahmed after he made 20 off 42 balls.

In the last 40-odd minutes, there were several close shaves too. First, Karunaratne's mistimed pull shot hit a ducking Saif Hassan at short-leg. There was no damage done but later in the over, Dhananjaya de Silva edged Ebadat Hossain through the slips, moments after a fielder was removed from that same spot.

In the following over, a drive from Karunaratne dropped just short of the bowler Islam before the captain survived two more close calls off the same bowler a little while later. Karunaratne was given out when Islam got one to hit his back pad, but replays showed the ball would have missed his leg stump. One ball later, Karunaratne jumped out of his crease and appeared to have defended the ball. The third umpire ruled out the review as he felt the ball had hit bat first but replays later showed that the ball had hit Karunaratne's toe first.

The day ended with de Silva smashing Islam for a superb straight drive, leaving the match interestingly poised.

Earlier, Thirimanne fell in the last ball of the second session. Mehidy Hasan drew him forward, hit his front pad halfway down and gave Bangladesh the breakthrough. Thirimanne had survived another lbw shout against Islam a few overs earlier, but Mominul Haque didn't take the review; replays showed it would have hit leg stump.

Thirimanne and Karunaratne were mostly at ease against Bangladesh's fast bowlers, but as soon as Haque brought on spinners from both ends, they adopted a cautious approach. Thirimanne's first 58 runs came off 125 balls, which included eight fours.

Bangladesh declared their first innings at 541 for 7, having batted for 90 minutes in the first session. They picked up the pace slightly, adding 67 runs in 18 overs. Liton Das and Mushfiqur Rahim both scored fifties. It was also the third time that Bangladesh had five players getting 50-plus scores. Vishwa Fernando took 4 for 96 while Suranga Lakmal, de Silva and Lahiru Kumara picked up a wicket each.

Mohammad Isam is ESPNcricinfo's Bangladesh correspondent. @isam84