Opener Gambhir hit an impressive 102 for his 11th one-day hundred and Raina hammered one six and six fours in his 45-ball knock as India achieved a stiff 287-run target with two balls to spare for a 2-1 lead in the five-match series.
India needed six runs to win in the last over, bowled by seamer Angelo Mathews, Irfan Pathan (34 not out) completing the victory with a boundary off the fourth delivery in the day-night match.
Man-of-the-match Raina and Pathan added 92 off 11.1 overs. “Gautam did really well and we needed one of the top three to put in a performance like this,” said India skipper Mahendra Singh Dhoni. “We all had belief in Raina.”
Sri Lanka, wicketkeeper-batsman Kumar Sangakkara (73), Mathews (71 not out) and skipper Mahela Jayawardene (65) earlier hit half-centuries to help Sri Lanka recover from a poor start. Sri Lanka were struggling at 20-3 after electing to bat but Sangakkara, who suffered a finger injury during his knock, and Jayawardene steadied the innings with a 121-run stand for the fourth wicket.
Sanga ruled out
Dinesh Chandimal kept wicket in the absence of Sangakkara, who was ruled out of the remaining two matches after being struck on the fingers by a delivery from Indian fast bowler Ashok Dinda. “They are a quality team. I thought we played a good game but made a few mistakes,” said Jayawardene.
“We bowled poorly in the end.”