Victory gave India a 1-0 lead in the five-match series following Monday’s washout in Bristol and saw them return to winning ways after their 3-1 defeat by England in the preceding Test series.
Raina’s innings was the cornerstone of India’s imposing 304 for six after England captain Alastair Cook won the toss.
England, chasing a rain-adjusted 295 off 47 overs in reply, were well-placed at 54 without loss. (Pics)
But they lost all 10 wickets for 107 runs as they collapsed to 161 all out in 38.1 overs.
Spin, as has so often been the case, proved England’s Achilles heel with left-armer Ravindra Jadeja taking four for 28 in seven overs.
India were in trouble at 19 for two before a stand of 91 between Rohit Sharma (52) and Ajinkya Rahane (41) revived the innings.
Left-hander Raina, who made exactly 100, and India captain Mahendra Singh Dhoni (52), then strengthened the tourists’ grip on the game with a fifth-wicket stand of 144.
Chris Woakes led England’s attack with four for 52 in his 10 overs, with off-spinner James Tredwell (two for 42) the only other wicket-taking bowler in the innings.
England didn’t help themselves by bowling 16 wides, with paceman Chris Jordan contributing 12 — the equivalent of two extra overs — in an expensive return of none for 73.
By contrast, India bowled just two wides.
Woakes struck twice in the seventh over, having opener Shikhar Dhawan caught behind before dismissing Virat Kohli for a duck as the talented right-hander’s miserable tour of England continued when his powerful drive found Cook at mid-off.
His exit followed Kohli’s meagre return of 134 runs at 13.4 during the Tests.
India scored 62 runs in five batting powerplay overs, with Raina contributing 41 off just 15 balls.
Raina completed a 74-ball century, including 12 fours and three sixes, with his second fifty taking just 25 balls.
He was dismissed for exactly 100 when he holed out off Woakes to Anderson, sweeping on the cover boundary.
England, with much-heralded opener Alex Hales — he scored his country’s first Twenty20 hundred, against Sri Lanka in March — making his ODI debut, enjoyed a steady start to their chase.
But when left-handed opener Cook, going across his stumps, was lbw to Mohammed Shami for 19 as he aimed across the line it was start of a collapse from which they never recovered.
Three balls later Shami bowled Ian Bell (one) as the batsman left a nip-backer.A similar delivery, this time from Bhuvneshwar Kumar, cleaned up Joe Root.
Hales had looked good early on but then got bogged down, scoring just 10 singles off his last 34 balls.He was out for 40 when he top-edged a sweep off Jadeja’s fourth ball short fine leg.
And 81 for four became 81 for five when, Jadeja induced Buttler (two) to chip a tame catch to Kohli at short extra-cover.
Eoin Morgan was dropped on 28 but then fell for the same score when his top-edged slog-sweep against off-spinner Ravichandran Ashwin was held in the deep.