Bangladesh stung flat-footed Ireland to resurrect their World Cup campaign with a 27-run victory in front of some 25,000 boisterous home fans on Friday.
Bangladesh, bowled out for 205 after taking first strike in the day-night match, hit back to dismiss the leading non-Test nation for 178 in 45 overs at the packed Sher-e-Bangla stadium.
Former captain Mohammad Ashraful, who scored just one run, turned an unlikely hero with the ball by claiming two top-order wickets with his part-time off-spin.
Skipper Shakib Al Hasan also picked up two wickets with left-arm spin before seamer Shafiul Islam polished off the tail in quick time with 4-21 from eight overs.
Bangladesh, who had lost their first match to India last week, lapped up the pressure in a game they had to win to stay in contention for the quarter-finals from Group B.
But the co-hosts, who play all their league matches at home, must still beat the Netherlands and at least one of the established teams among England, South Africa and the West Indies.
The win helped Bangladesh avenge two successive defeats by Ireland in major events, having lost during the 2007 World Cup in the Caribbean and again in the 2009 World Twenty20 in England.
"It was a good game. I thought we played really hard cricket although we didn't bat well. Our bowlers and fielders showed great character and our support was excellent," said Shakib.
Disappointed Irish skipper William Porterfield said a poor batting display cost his side a crucial win.
"It's not hard to work out where we lost the game. We never settled down with the bat. The first 50 overs was pretty good," he said.