Bangladesh 246 (Shakib 75, Mushfiqur 70, Shanto 54, Archer 3-35) beat England 196 (Vince 38, Shakib 4-35) by 50 runs
Chittagong: England were bowled out for 196 as Bangladesh avoided a one-day international series clean sweep with a 50-run win in Chittagong.
Having already taken an unassailable 2-0 series lead, England restricted Bangladesh to 246 all out.
But the visitors lost three wickets in eight balls from 54-0 and were bowled out with 41 balls of their innings still remaining.
Bangladesh's Shakib Al Hasan took 4-35 after striking 75 with the bat.
Shakib became the first Bangladesh player to reach 300 ODI wickets when he removed Rehan Ahmed thanks to a Mehedi Hasan catch.
England were hoping to become the first side to secure a clean sweep in an ODI series in Bangladesh since Sri Lanka in 2014.
James Vince top-scored with 38 for England with most of the visitors' top and middle order unable to capitalise on good starts.
England battled to a hard-fought three-wicket win in the first ODI in Mirpur, and this chase started well as they moved to 54-0 in the ninth over.
Then came the collapse. Phil Salt was the first to go, chipping Shakib straight to Mahmudullah at extra cover for 35, with Dawid Malan and Jason Roy falling across the next eight balls to leave England on 55-3.
Sam Curran (23 off 49), promoted up the order to number five, added a 49-run partnership alongside Vince but both fell in quick succession to leave England on 127-5.
After Moeen Ali departed for two with England still needing 117 runs, the visitors' hopes fell on skipper Jos Buttler's shoulders.
He added 26 before he was pinned lbw by Taijul Islam and Chris Woakes, who struck a late 34 off 46, was the last to go, caught and bowled by Mustafizur Rahman.
There was some joy for England, who are preparing for the 50-over World Cup in India later this year. Even before he bowled his first delivery, leg-spinner Ahmed was a record breaker.
Less then three months after becoming the youngest England men's Test cricketer, Ahmed again made history, becoming England's youngest men's ODI debutant at 18 years and 205 days.
He struck with the final ball of his 10-over spell, removing Mehedi Hasan caught and bowled to finish with figures of 1-62.
Ahmed also combined with Jos Buttler to run out Najmul Hossain Shanto and break a 98-run partnership with Mushfiqur, after Bangladesh recovered from 17-2.
Sam Curran had given England an excellent start by removing Bangladesh openers Tamim Iqbal and Litton Das within three overs, while Jofra Archer (3-35) finished off the Tigers' innings.
Though Bangladesh were unable to see out 50 overs for the third time this series, Shakib, Mushfiqur (70 off 93) and Shanto (53 off 71) took them to a competitive total.