Virat Kohli made a 55th ODI half-century following fireworks from Nicholas Pooran and Kieron Pollard as India pulled off a big run chase to beat West Indies by four wickets and win the series 2-1.

Pooran (89 from 64 balls) and Pollard (74 not out off 51) bludgeoned 118 runs off the last 10 overs to get the Windies up to an imposing 315-5 at the Barabati Stadium in Cuttack on Sunday.

That was not sufficient for the tourists to secure a first bilateral ODI series win over India for 13 years, though, as the second-ranked side in the world reached their target in the penultimate over.

Rohit Sharma hit a run-a-ball 63, while KL Rahul (77) and Kohli (85) also made half-centuries before Ravindra Jadeja (39no) and Shardul Thakur (17no) finished off the job. 

Keemo Paul was the pick of the bowlers with 3-59 and Shai Hope became the second-fastest to 3000 ODI runs, but that was scant consolation for Pollard's men.

The Windies got off to steady start after being put in by Kohli and Evin Lewis fell for a scratchy 21 before Hope was bowled playing across the line to a delivery from Mohammed Shami.

Shimron Hetmyer (37) struck a couple of lusty sixes but became Navdeep Saini's first ODI victim after he was put down by Rishabh Pant and Roston Chase (38) lost his off stump to a yorker from the debutant.

Pooran, also dropped by Pant, and Pollard cut loose with a devastating late onslaught, the former reaching his half-century with a second six in an expensive over from Kuldeep Yadav.

The majestic Pooran missed out on his hundred when he was removed by Shardul in the 48th over, but Pollard swelled his tally of sixes to seven to leave India facing a big run chase.

Rohit and Rahul - centurions in the second ODI - made a great start, the former stepping on the accelerator with a six and four in the fourth over from Jason Holder as the openers scored at around a run a ball for the first 15 overs.

Rahul was the first to reach his half-century after the 100 stand was brought up and Rohit moved to his 43rd ODI fifty, but was gone after edging Holder behind.

The elegant Rahul gloved Alzarri Joseph to Hope and India were 201-4 with 15 overs to bowl after Paul removed Shreyas Iyer and Pant in successive overs.

Kohli coasted to his half-century from only 51 with an array of sublime strokes and positive running, with India needing 79 for victory off the last 10 overs, but there was stunned silence when he chopped on attempting to drive Paul through the off side.

India required 30 from 23 balls when Kohli trudged off, but Shardul hooked Sheldon Cottrell for six in a 48th over that cost 15 runs and Jadeja showed his all-round class as India got home with eight balls to spare.