Joe Root put on 159 with opener Alex Hales and an unbroken 143 for the third wicket with skipper Eoin Morgan.
London: Joe Root's career-best unbeaten 133 saw England to an eight-wicket win over Bangladesh in the opening match of the 2017 Champions Trophy at the Oval on Thursday.
England, set 306 for victory, finished on 308 for two with 16 balls to spare.
Root's innings was his highest in one-day internationals, surpassing his 125 against South Africa at Centurion last year.
England's total was also the highest score by a team batting second to win a Champions Trophy match, topping Sri Lanka's 297 for three against them at the Oval four years ago.
Root put on 159 with opener Alex Hales (95) and an unbroken 143 for the third wicket with skipper Eoin Morgan (75 not out).
But worryingly for England, bidding to win their first major International Cricket Council ODI trophy, paceman Chris Woakes bowled just two overs before suffering a potentially tournament-ending left side strain.
And Jason Roy, a day after Morgan guaranteed his tournament place, fell for just one -- his fifth single figure score in his last six ODI innings.
Meanwhile Root suffered a calf injury while batting.
Earlier Tamim Iqbal's 128 was the centrepiece of Bangladesh's 305 for six after they lost the toss.
Tamim received excellent support from Mushfiqur Rahim (79) in a third-wicket partnership of 166.
That was Bangladesh's highest ODI stand outside of Asia, surpassing the 141 put on by Mushfiqur and Mahmudullah when the Tigers knocked England out of the 2015 World Cup with a dramatic 15-run win in Adelaide.
Both batsmen, however, fell in successive balls from Liam Plunkett to leave Bangladesh 261 for four in the 45th over.
Fast bowler Plunkett took four wickets for 59 runs from his maximum 10 overs.
England came into this tournament featuring the world's top eight ODI sides having made huge strides in white-ball cricket in the past two years.
But they had to work hard in the field against a Bangladesh side skittled out for just 84 by Champions Trophy holders India in a warm-up match at the Oval on Tuesday.
All-rounder Ben Stokes despite a knee problem that had previously hampered him in his delivery stride, made the breakthrough when, with the last ball of his first over, Soumya Sarkar uppercut him straight to substitute Jonny Bairstow at deep cover for 38.
But as the runs kept coming, an increasingly frustrated Stokes exchanged words with Tamim and mockingly patted him on the shoulder at the end of the 32nd over, with umpires Rod Tucker and S Ravi intervening to calm tempers.
Meanwhile a single against off-spinner Moeen Ali saw Tamim to his ninth ODI century in 124 balls, including 11 fours and a six.
The 28-year-old, who drove Ali for another soaring straight six, fell when wicket-keeper Jos Buttler held a skyed pull off Plunkett.
The batsmen had crossed and next ball Mushfiqur carelessly holed out to long-off, with Bangladesh only managing a relatively modest 43 off the last five overs.
There was no comfort for Roy on his Surrey home ground when he saw an attempted scoop off Bangladesh captain Mashrafe Mortaza brilliantly caught by a leaping Mustafizur Rahman at short fine leg.
Hales, rarely troubled by a Bangladesh attack lacking a genuine fast bowler, struck a four and a six off successive balls only to hole out off the leg-spinner's next delivery.
Bangladesh thought they had Morgan out for 22 when Tamim, running in from long-on, claimed a low catch but third umpire Bruce Oxenford ruled the ball had touched the turf.
Root's two off Mortaza took him to a 10th ODI hundred in 115 balls with six fours.
Not known as a big-hitter, Root later lofted Rubel Hossain for a straight six and ended the match with a four off Mossadek Hossain.
Bangladesh return to the Oval to face Australia on June 5, with England continuing their Group A campaign against New Zealand in Cardiff the following day.