Group B, Pietermaritzburg: Sri Lanka 126-0 (21.1 overs) bt Bangladesh 124 all out (31.1 overs) by 10 wickets
Chaminda Vaas made history by taking a hat-trick with the first three balls of the game as Sri Lanka recorded a crushing 10-wicket victory over Bangladesh.
Vaas then added a fourth victim in his opening over before finishing with six for 25.
Bangladesh, who ended the first over on five for four, partially recovered from the shock before being dismissed for 124 in the 32nd over.
But Sri Lanka needed only 21.1 overs to reach their target, openers Marvan Atapattu and Sanath Jayasuriya both registering half-centuries.
Jayasuriya's decision to put Bangladesh in after winning the toss paid off in startling fashion as Vaas claimed four wickets in his opening over.
Hannan Sarkar was first to go as he played across the line to the left-armer's opening delivery and was bowled.
When Vaas got that hat-trick, the match all changed
The next delivery accounted for Mohammad Ashraful, who played too early at an inswinger and lobbed a simple return catch.
It fell to Ehsanul Haque to try and prevent the hat-trick but he jabbed tentatively and the ball took the outside edge before being safely held by Mahela Jayawardene at second slip.
It is the first time in Test or one-day history that a bowler has taken a hat-trick with the first three balls of a game.
Sri Lanka's Nuwan Zoysa claimed a hat-trick with his first three balls in a Test against Zimbabwe in Harare in 1999, but that was in the second over of the match.
Vaas is the third bowler to claim a World Cup hat-trick.
The Sri Lankan paceman also has the best ever bowling figures in a one-day international - eight for 19 against Zimbabwe in 2001
India's Chetan Sharma achieved the feat against New Zealand at Nagpur in 1987 and Pakistan's Saqlain Mushtaq bagged a treble against Zimbabwe at the Oval in 1999.
Sanwar Hossain responded to the situation by hammering the fourth delivery of the over to the cover boundary.
But two balls later he was trapped lbw by another inswinging delivery to leave Bangladesh on five for four at the end of the opening over.
Worse was to come in the fifth over as Al Sahariar attempted a flamboyant drive and holed out to Aravinda de Silva at mid-off, giving Vaas his third five-wicket haul in a one-day international.
Muttiah Muralitharan chipped in with three, as only Alok Kapali, Khaled Mashud and Mashrafe Mortaza got beyond 20 for Bangladesh.
Jayasuriya and particularly Atapattu made light work of Bangladesh's weak bowling attack and they needed just 128 balls to overhaul the target of 124.
Sri Lanka: Marvan Atapattu, Sanath Jayasuriya (captain), Hashan Tillakaratne, Mahela Jayawardene, Aravinda de Silva, Kumar Sangakkara, Russel Arnold, Chaminda Vaas, Muttiah Muralitharan, Dilhara Fernando, Prabath Nissanka.
Bangladesh: Hannan Sarkar, Al-Sahariar, Ehsanul Haque, Khaled Mashud (captain), Mohammad Ashraful, Sanwar Hossain, Alok Kapali, Mohammad Rafique, Manjural Islam, Tapash Baisya, Mashrafe Mortaza.