Bangladesh talisman Shakib Al Hasan reclaimed his position as the World Cup's leading scorer after producing a stellar all-round display to secure his team's 62-run victory against Afghanistan on Monday.
Put in to bat, Bangladesh posted a strong 262-7 on a slow track after Shakib, who made 51, forged half-century partnerships with Tamim Iqbal (36) and Mushfiqur Rahim (83).
The left-arm spinner went on to return the tournament's best bowling figures of 5-29 as Afghanistan, all out for 200 in 47 overs, succumbed to their seventh defeat in a row in the tournament.
Bangladesh are now 5th in the table with seven points from seven matches, one behind hosts and pre-tournament favourites England who have played one game fewer.
"Shakib's been fantastic. He's scoring runs and whenever we need (it) he is getting us wickets," Bangladesh captain Mashrafe Mortaza said after their third win in the tournament.
"We will try our level best (in the next matches against Pakistan and India), that's all I can say to the fans."
Afghanistan captain Gulbadin Naib won the toss and elected to field two days after his team's narrow defeat by India, which was also at the Hampshire Bowl.
As has been their practice, off-spinner Mujeeb Ur Rahman began with the new ball and tasted success in his third over when Liton Das drove him to short cover.
Mohammad Nabi breached Tamim's defence and Afghanistan nearly had two-in-two after Shakib was adjudged LBW to Rashid Khan in the first ball of the next over.
The batsman immediately asked for a review and got the decision overturned after the ball-tracker confirmed the ball would have sailed over the stumps.
Shakib added 61 runs with Mushfiqur but Mujeeb dismissed him and Soumya Sarkar in a two-wicket burst to peg back Bangladesh.
Shakib's fifth 50-plus score in six innings contained just one 4, illustrating the slowness of the track where boundaries were a rarity.
He now has 476 runs in the tournament, leapfrogging Australian opener David Warner (447), after yet another stellar performance.
Mushfiqur brought up his 50 with the only six of the Bangladesh innings and also hit four boundaries.
After sending down 10 overs of medium pace, Naib returned half an hour later to give Afghanistan a strong, if not flying, start.
He and Rahmat Shah helped Afghanistan inch towards the 50-mark when Bangladesh captain Mashrafe Mortaza introduced Shakib and the left-arm spinner struck with his fifth delivery.
Shah attempted a timid pull shot which found Tamim at mid-on and departed for 24.
Shakib derailed Afghanistan's chase in the 29th over when he dismissed Naib for 47 and, two balls later, sent back the scoreless Nabi.
The match was effectively over when former captain Asghar Afghan fell to Shakib in the 33rd over.
Samiullah Shinwari made a defiant 49 not out down the order but was left stranded.
"Today we missed something in the fielding, and gave 30-40 runs extra," said a rueful Naib. "The wicket was slow, it helped the spinners. But it wasn't that helpful in the second innings."
Toss, pre-match chatter
After the toss was delayed 10 minutes by light rain, Afghanistan skipper Gulbadin Naib opted to take advantage of the murky conditions overhead that could help his bowlers.
"I wanted to bowl first, conditions suit for bowling and we have played here so know about the conditions," Naib said. "In the second innings against India it was quite good for batting."
"Against India, we had a good opportunity to beat them and I have confidence today from how we played in the last game," added Naib, whose side have lost all six matches they played in the tournament.
Bangladesh captain Mashrafe Mortaza said: "It is a used wicket. If you look at the last match here it was slow and there was turn. We prefer to bat first to get use of it. We'll see what happens."
Bangladesh: Tamim Iqbal, Soumya Sarkar, Shakib Al Hasan, Mushfiqur Rahim (wkt), Liton Das, Mahmudullah, Mosaddek Hossain, Mohammad Saifuddin, Mehidy Hasan, Mashrafe Mortaza (capt), Mustafizur Rahman
Afghanistan: Gulbadin Naib (capt), Rahmat Shah, Hashmatullah Shahidi, Asghar Afghan, Mohammad Nabi, Najibullah Zadran, Samiullah Shinwari, Rashid Khan, Ikram Ali Khil (wkt), Dawlat Zadran, Mujeeb Ur Rahman
Umpires: Michael Gough (ENG), Richard Kettleborough (ENG). TV umpire: Aleem Dar (PAK) Match referee: Richie Richardson (WIS)