Two spectacular batting collapses adorned the first ODI, one more dramatic than the other, causing amusement, ridicule and fear at a half-filled Shere Bangla National Stadium. Sri Lanka first slipped to 67 for 8 in 21.3 overs, after which Thisara Perera put together a proper rescue act and gave the visitors a lifeline, a score of 180 in 40 overs. The home side fell the other way, from 114 for 2 to 167 all out - losing 53 for 8 when they were cruising. It was the latter that had more impact on the result, as Sri Lanka ended up winning by 13 runs in a match shortened by rain to 43 overs.

Angelo Mathews took three wickets while Sachithra Senanayake took two, but despite their accuracy in patches, it wasn't the bowlers who won the game, it was the Bangladesh batsmen who lost it.

The chase began well though Bangladesh lost Anamul Haque early to lack of footwork as he edged Lasith Malinga in the first over. Mominul Haque and Shamsur Rahman added 79 for the second wicket, before Mominul too showed little footwork as he holed out at backward point. Shamsur however was batting superbly, hooking, pulling and slashing with glee, as he moved to his second consecutive ODI fifty. Thirty-five runs were added for the third wicket, and Bangladesh had brought their required run-rate below three an over.

The collapse began with a freak run-out. Shamsur was batting like he owned Mirpur, having reached 62 off 48 balls, when he heaved Nuwan Kulasekara. There were two runs for the taking, and as Shamsur dragged his bat to complete the second, his bat got jammed just short of the crease, and was wrenched from his grip. Kumar Sangakkara casually took the bails off, more as a routine than in a run-out attempt. Then he turned round to see Shamsur's bat lying out of the crease, and appealed for the run-out, which was given after nearly a dozen replays.

It was 114 for 3 then, and three overs later, Shakib was run out, inches short of his crease. Nasir battled, but he fell to extravagance, edging to slip in the 29th over, Bangladesh needing 48 more to win.

Mahmudullah came to the crease, almost got out the first ball, and then tapped the next delivery to forward short-leg's lap. Sohag Gazi promised runs, but not for too long. His slog found mid-off, and Bangladesh had lost everyone in the line-up who could bat, barring captain Mushfiqur Rahim.

Arafat Sunny gave him company for a while before both got out, Mushfiqur edging an attempted scoop off his opposite number, Mathews.

Bangladesh almost matched Sri Lanka, but Thisara Perera did what he does best: bat well under pressure. He has been known for rescue acts, and this was one of his best. From 67 for 8, he led the fightback with risk in his mind.

He started off with a slogged boundary, then was dropped on 7 by Sohag Gazi, catchable height at long-on. This possibly turned the match on its head, but Perera and Senanayake, during their 82-run ninth wicket stand, gave a few more chances. Perera was dropped at long-on again by Nasir, and at long-off by Shakib. Senanayake was dropped at slip by Mahmudullah, and gave a half-chance near mid-on, Shakib's dive from midwicket falling short.

Perera ended up on an unbeaten 80 off 57 balls, hitting four boundaries and six sixes. He peppered the midwicket and long-on boundary with regularity, and had help from Sachithra Senanayake who made 30 off 48 balls, the same pair that was on hand to guide Sri Lanka to victory in the Twenty20 three days ago.

It was a stunning effort from Perera after Sri Lanka's batting floundered so badly that they seemed out of the game. Tillakaratne Dilshan skied Rubel Hossain to Mushfiqur and Kusal Perera was given out leg-before, though the ball appeared to slip down the leg-side. Sangakkara rushed out to slam Al-Amin Hossain over mid-off but ended up giving an easy overhead catch to Arafat Sunny at mid-off.

Ashan Priyanjan was next to go, leg-before to Shakib before Dinesh Chandimal had his third failure in a row, getting run out after a mix-up with captain Angelo Mathews. Chandimal had tried to get the ball past cover but Shakib dived to his left, turned and passed the ball to Sunny, who took the bails off, with Chandimal well short.

Sunny then took his first ODI wicket, cleaning up Angelo Mathews, following it up with a similar dismissal of Nuwan Kulasekara. The last wicket of the collapse was Kithuruwan Vithanage, who was run out by inches with captain Mushfiqur Rahim, not keeping wickets in this game due to a finger injury, throwing down the stumps from mid-on.

Bangladesh bowled well in patches, but Mushfiqur's captaincy, especially his use of Shakib and Mahmudullah was questionable. So was their batting, particularly when they were placed in such a comfortable situation. Perhaps it was comfort which got the better of them, and they remain winless in 2014, five matches in.