Fourth ODI, Pune: India 262-6 bt Sri Lanka 261 by four wickets
Mahendra Dhoni and Suresh Raina put on 82 to guide India to a four-wicket win over Sri Lanka in Pune and a 4-0 lead in the seven-match one-day series.
Captain Marvan Atapattu hit 87 as the tourists were bowled out for 261, with seamer Ajit Agarkar claiming 5-44.
India were cruising at 176-3, thanks to 63 from skipper Rahul Dravid, but they then lost three wickets for four runs.
But Dhoni (45) hit successive sixes off Russel Arnold to seal victory with 4.2 overs left, while Raina contributed 39.
Dravid's decision to put the Lankans in paid off when the in-form Kumar Sangakkara (8) and fellow opener Sanath Jayasuriya (16) were trapped lbw by Agarkar.
Things got worse when Upul Tharanga was caught by Agarkar off young paceman Shanthakumaran Sreesanth to leave the visitors on 51-3.
Paceman Ajit Agarkar was in man-of-the-match form for India
Atapattu helped rebuild the innings by putting on 97 for the fourth wicket with Tillekeratne Dilshan (52) and 83 with Arnold (32).
But after Dilshan cut spinner Harbhajan Singh to Sachin Tendulkar and Irfan Pathan knocked over Arnold's off-stump, Atapattu soon went.
His 100-ball knock came to an end when he miscued a drive back to part-time spinner Virender Sehwag and Agarkar mopped up the tail.
India's reply also faltered early on, with Chaminda Vaas bowling Tendulkar (11) and Yuvraj (10) caught off Nuwan Zoysa.
Dravid repaired the damage by putting on 78 with Sehwag (48) and 64 with Venugopal Rao (38) but the latter and Pathan were caught behind off Muttiah Muralitharan (3-35) to spark a mini-collapse.
In between those dismissals, Dravid failed with an ambitious hook shot off paceman Vaas and Sri Lanka sensed an unlikely way back into the series.
But Dhoni and super-sub Raina played patiently before the wicket-keeper twice launched Arnold over long-on to leave them with only pride to play for in the fifth match in Ahmedabad on Sunday.
India: V Sehwag, S R Tendulkar, M S Dhoni (Wkt), R Dravid (Capt), Yuvraj Singh, Y V Rao, J P Yadav, I K Pathan, A B Agarkar, S Santh, Harbhajan Singh, Sub: S Raina.
Sri Lanka: K C Sangakkara (Wkt), S T Jayasuriya M S Atapattu, (Capt), U Taranga, T M Dilshan, R P Arnold, M F Maharoof, W P U J C Vaas, C R D Fernando, D N T Zoysa,M Muralitharan, Sub: T T Samaraweera.
Umpires: B F Bowden and A V Jayaprakash.