|A good day for spinners - Abdur Razzak, left, traps Kevin Pietersen for 18 [AFP]
Man-of-the-match Eoin Morgan hit a century to guide England to a narrow win over hosts Bangladesh at the Sher-e-Bangla National Stadium and win the three-match one-day international series.
England secured a two-wicket victory in the second ODI as Morgan hit a 104-ball 110 not out for his second one-day hundred.
England surpassed Bangladesh's 260-6 with seven balls to spare in the day-night match for an unbeaten 2-0 series lead, although Bangladesh posted their highest ODI total against England and came closest to beating the visitors for the first time in a one-dayer.
The 23-year-old Irishman also became the first batsman in one-day cricket to score centuries for two countries, his first hundred coming for Ireland against Canada in Nairobi in 2007.
England made 261-8 with seven balls to spare. They were chasing 16 to win with 12 balls left, and Morgan spoiled Bangladeshi hopes by clubbing Shafiul Islam's first delivery to the boundary.
Two runs followed off the next ball, bringing up Morgan's first ODI century for England, and the second of his career.
After a dot ball off the third, Morgan swiped his eighth boundary through cover, then completed England's series win with his second six.
England were 68-3 when Morgan joined opener Alastair Cook. They put on 40 before Cook was caught behind for 60 off Shakib Al Hasan. His 50 came off 52 balls and included seven boundaries.
Morgan and Matt Prior (42) added 90 for the fifth wicket, but from 198-5 England slumped to 229-8 thanks to captain Shakib Al Hasan, who took 3-32, Abdur Razzak, 3-52, and Mahmudullah, who trapped Tim Bresnan lbw for a duck.
T Iqbal c Cook b Broad 30
I Kayes c Collingwood b Swann 63
A Ahmed b Brenan 4
M Rahim c Wright b Bresnan 76
S Al Hasan c and b Swann 14
Mahmudullah b Bresnan 27
N Islam not out 18
S Shuvo not out 14
TOTAL: (for six wickets) 260
Fall of wickets: 1-46, 2-56, 3-146, 4-166, 5-211, 6-235.
A Cook c Rahim b Hasan 60
C Kieswetter c Kayes b Shafiul Islam 4
K Pietersen lbw b Razzak 18
P Collingwood lbw b Razzak 7
E Morgan not out 110
M Prior lbw b Razzak 42
L Wright b Hasan 7
T Bresnan lbw b Mahmudullah 0
G Swann b Hasan 2
J Tredwell not out 2
TOTAL: (for eight wickets) 261
Fall of wickets:1-5, 2-52, 3-68, 4-108, 5-198, 6-223, 7-224, 8-229.
But James Tredwell, on debut, hung around for more than four overs to support Morgan to the end. Tredwell scored 2.
"It got a bit close for our liking, but Eoin came in with a fantastic knock. He was calm under pressure," said England captain Alastair Cook.
"We came here to win and have won the series. We have to try to win the series 3-0."
Wicketkeeper Mushfiqur Rahim and opener Imrul Kayes provided the backbone in the Bangladesh innings with a 90-run partnership for the third wicket.
Rahim hit 76 off 88 balls, while Kayes was more patient for his 63, until he drove Graeme Swann hard through the covers only to be out to a great diving catch by Paul Collingwood.
It took another good catch to remove Rahim, who had hit five boundaries in his near run-a-ball knock.
Rahim tried to flick Bresnan down the leg side but lobbed it to mid on where Luke Wright made a sliding catch for 211-5 in the 44th over.
Bresnan bowled Mahmudullah for 27 at the start of the 49th over, but Naeem Islam (18 not out) and debutant Suhrawardi Shuvo (14 not out) blasted 25 off the last 11 balls to post a competitive total.
Opener Tamim Iqbal, who scored a century in the first match on Sunday, was first out for 30 to Stuart Broad.
Bresnan finished with 3-51 and Swann claimed 2-52.
The third match of the series will be held in Chittagong on March 5.