The 24-year-old struck 10 fours and two sixes in an undefeated 115 from 119 balls, as West Indies, chasing 246 runs to win from their allocation of 50 overs, reached their target with one ball to spare.
Sarwan struck Sreesanth through extra cover for his final boundary to ensure that West Indies took a 2-1 lead in the five-match series that concludes on Friday and Sunday at Port of Spains Queens Park Oval.
Sarwan and veteran Shivnarine Chanderpaul stabilised the home teams innings with a stand of 106 for the fifth wicket, after the wickets of Chris Gayle and captain Brian Lara set them back on 131 for four in the 25th over.
Chanderpaul batted through the later stages of his innings with a runner and struck three fours and one six in 58 from 68 balls, but he was dismissed with West Indies 11 runs from victory.
West Indies entered the final over needing six runs and lost Dwayne Bravo run out going for a second run off the first ball.
Carlton Baugh Jr. failed to score off the second ball that he drove through cover, but scrambled a run off the third ball.
The breaking point came when Sarwan drove Sreesanth through cover and Indias captain Rahul Dravid misfielded, and the two batsmen ran two, before Sarwan formalised the result.
India had slumped after Virender Sehwag missed out on his eighth One-day International hundred.
Sehwag gave India a blistering start in his customary belligerent style, and struck nine fours and three sixes in the top score of 97 from 83 balls, as India were restricted to 246 for nine in their allocation of 50 overs.
The dismissal of Sehwag in the 29th over prompted a steady decline of the Indian innings however, and they lost their six wickets for 35 runs in 12.5 overs.
Sehwag added 61 for the second wicket with Suresh Raina after the dismissal of India captain Rahul Dravid off the last ball of the first over, then put on 112 for the third wicket with Mohammed Kaif, who supported with two boundaries in 61 from 89 balls.
Ian Bradshaw and Bravo were the most successful bowlers for West Indies with two wickets apiece.
West Indies got off to a steady start from Gayle opening the batting surprisingly with Marlon Samuels.
Sreesanth made the breakthrough, when he had Samuels adjudged lbw for 11 in the ninth over, and Agarkar set West Indies back with the dismissal of Runako Morton also adjudged lbw for no score three balls later to leave West Indies 31 for two.
Sarwan came to the wicket and with Gayle steadied the innings for West Indies with a stand of 85 for the third wicket.
The two batsmen were hardly troubled by the Indian bowlers, but Dravid brought Agarkar back for a second spell, and he claimed Gayle caught behind for 40 that contained five fours and one six from 65 balls.
Harbhajan Singh then put the monkey on the West Indies, when he had Lara caught at slip for five, but Sarwan and his teammates kept their nerve to carry the home team all the way.
Earlier, India started disastrously, when Dravid was adjudged lbw to Bradshaw for a four-ball duck.
Raina came to the crease and offered Sehwag sedate support before he was bowled for 26 in the 11th over.
Kaif arrived and continued to rotate the strike. Sehwag reached his 50 with a searing drive through the off-side off Jerome Taylor and made steady progress, with well-judged runs being punctuated with punishing strokes for boundaries.
Sehwag however, was adjudged lbw to a full length delivery from Bravo in the 29th over that struck him on the boot and India continued to bleed wickets.
Mahendra Dhoni and Kaif gifted their wickets in the 38th and 40th overs respectively, when they both fell run out to alert West Indian fielders to keep India on the backfoot and leave them 216 for five.
Irfan Pathan was caught and bowled for one off Samuels in the 41st over, before Ramesh Powar was bowled by Sarwan round his legs in the 44th over, and Venugopal Rao was a third run out victim with 21 balls remaining.
India won last Thursdays opener by five wickets with one ball to spare, and West Indies rebounded to prevail by one run with two balls to spare in last Saturdays second ODI.
Warner Park was staging its first international match ever, after major renovations ahead of the 2007 ICC World Cup in the West Indies.