Put into bat, India, who are looking to put their Test debacle behind them in the limited-overs format, rode Raina's 75-ball 100 to post a challenging 304 for six in 50 overs.
The 144-run fifth-wicket partnership between Raina, who registered his fourth ODI century, and captain Mahendra Singh Dhoni (52) was the highlight of the Indian innings.
Rain forced a delayed start to the England innings and the Duckworth-Lewis method revised the hosts' target to 295 in 47 overs. The hosts were bundled for 161 in 38.1 overs as Indian bowlers for once made their presence felt in English conditions.
England opener Alex Hales (40), who was handed his debut cap by skipper Alastair Cook in the morning, was the highest scorer in a disappointing scorecard.
The hosts slumped from 54 for no loss to 85 for five and the slide continued with the overcast conditions doing little to save the batting collapse.
Left-arm spinner Ravindra Jadeja (4-28) was India's leading wicket-taker after medium-pacer Mohammad Shami (2-32) did the early damage. Off-spinner Ravichandran Ashwin (2-38) took care of the finishing act while new-ball bowler Bhuvneshwar Kumar (1-30) and Raina (1-12) also picked up a wicket each.
Shami started the rot in his third over by sending back Cook LBW for 19 and cleaning up Ian Bell for 1.
Bhuvneshwar cleaned bowled Joe Root for 4 and Jadeja then turned on the heat to make short work of the England middle and lower-order.
The first match of the series was washed off due to persistent rains in Bristol while the focus now shifts to the third ODI at Trent Bridge on Saturday.