England slumped to a second defeat at the ICC World Cup, losing by two-wickets to an inspired Bangladesh in a thrilling match in a frenzied Chittagong.
The Tigers squeezed home in a see-sawing encounter, with former MCC Young Cricketer Mahmadullah (21) and tail-ender Shafiul Islam (24) seeing them home.
The pair put on 58 from just 56 balls to snatch victory from the jaws of defeat after a spectacular middle order collapse had threatened their chances.
A win would have secured England’s spot in the quarter-finals but they now face a crucial final group fixture against the West Indies to decide their fate.
England were poor with both bat and ball - bowling 23 wides - and Andrew Strauss will have some serious questions to ask of his side in the coming days.
England made a painfully slow start to their innings, reaching just 47-2 by the end of the 15th over with both openers back in the pavilion.
Matt Prior, moved back up the order to open in the absence of Kevin Pietersen, was bizarrely stumped by Mushfiqur Rahim for a scratchy 15 and Andrew Strauss was caught at slip off Naeem Islam for 18.
Ian Bell fell for a strange 23-ball five but England were rescued by the returning Eoin Morgan and the ever reliable Jonathan Trott who, between them, put on 109 for the third wicket.
Despite the sluggish pitch undoing the top order, Morgan showed a willingness to use his feet to attack the Bangladesh spinners.
Morgan’s well paced 63 included eight boundaries before he was spectacularly caught by Imrul Kayes diving low at deep square leg as he attempted an uppish sweep off Islam.
Morgan's dismissal, before England had taken the batting powerplay, resulted in a late innings slump.
Trott top-scored with 67 from 99 balls but fell trying to accelerate the run-rate late in the innings and the lower and middle order crumpled to 225 all out in the final over.
Paul Collingwood was the last man to fall - run out for 14 by Mahmadullah.
Tigers fail to roar
Tamim Iqbal, so often England’s bogeyman, took advantage of some average bowling early on to get the Tigers off to a flying start in response.
The left-hander made 38 from just 26 balls with five boundaries, scoring freely through the leg side as England's seamers frequently bowled too straight.
He fell to Tim Bresnan with the score on 52 in only the ninth over but his cameo had given the hosts the early impetus.
England's bowlers were poor early in the innings with 11 wides in the Tigers’ first 100 runs and Swann appeared to lose his cool with umpire Darryl Harper over the state of the ball.
Left-handed opener Imrul Kayes accumulated his runs at a steady pace to help set a great platform, finding a partner in captain Shakib Al Hasan.
He was run out by a brilliant boundary throw from Ajmal Shahzad for 60 - a moment which changed the whole momentum of the match.
England put the squeeze on new batsman Rahim who was caught behind off Shahzad. Shortly afterwards Shakib dragged a sweep off Swann onto his stumps.
Strauss had suddenly found a bowling partnership in Swann (2-42) and Shahzad (3-43), who took two wickets each as Bangladesh lost 5 wickets for just 14 runs.
But the drama was not over as Mahmadullah and Islam reignited the crowd with some boundaries - including a massive Islam six off Swann - as they kept the game alive.
Anderson produced a woeful 46th over in the batting powerplay which included seven wides and there were two boundaries from Bresnan's 47th over.
Islam brought up the 50 partnership from only 47 balls with straight drive off Anderson.
And the tail-end pair seemed to be the coolest heads in the stadium as Mahmadullah sealed the win by driving Bresnan for four in the penultimate over.