After 28 consecutive wins in home ODIs when they've scored at least 250 batting first, Sri Lanka's amazing run was ended in a nailbiter at the Premadasa. Riding on a superbly paced hundred by Gautam Gambhir, India overcame mid-innings wobbles, including losing two wickets off successive balls, as Suresh Raina - helped along by Irfan Pathan - did the finishing job to perfection. India now lead the five-match series 2-1.

In conditions that offered an even contest between bat and ball, there were several memorable performances, with fortunes swaying either way several times, til the Raina-Irfan partnership decisively swung it India's way. India held the early ascendancy in the match with three quick wickets, but a top-notch 121-run stand for the fourth wicket between Kumar Sangakkara and Mahela Jayawardene edged it in Sri Lanka's favour. Angelo Mathews and Jeevan Mendis further hammered home the advantage with a104-run partnership, including 97 off the last ten, as India's bowling frailties at the death were exposed again. Then, when India's chase appeared on course, Lasith Malinga, who historically hasn't had such a happy time against them, struck twice with the first two balls of the batting Powerplay, at a time when India were fairly comfortably placed, needing 107 off 90 with eight wickets in hand, with MS Dhoni and Gambhir well set. And when Gambhir was found short by a direct hit from Isuru Udana - his one redeeming act on another disappointing bowling day - India seemed to have well and truly lost their way.

The final twist in the tale, though, was still to come. When Pathan joined Raina, the task was steep - 91 runs in 12 overs, with not much batting to come. At that stage, though, Malinga, who had three overs to spare, was pulled out of the attack with three of his overs still in hand; in retrospect, another over at that stage, with both batsmen relatively new to the crease, might have been worth the risk.

With Malinga not in the attack, both batsmen eked out the runs through intended and unintended methods - flicks, edges, outside edges, inside edges all followed, but crucially for India, they all added to the total and brought down the target. Raina then launched into his trademark meaty hoicks to leg, bringing up his half-century with one such stunning six over long-on off Malinga in the 46th. With both batsmen getting a couple of fours through third man in Malinga's previous over, the asking rate had suddenly come down to seven. India were back in control, and this time they didn't let go.

Until the 36th over of the chase, it seemed India's win might be achieved with far lesser drama, with Gambhir and Virat Kohli - their trusted pair in a run-chase, putting together 105 in quick time after the early loss of Virender Sehwag. Gambhir's was a masterclass, as he took charge of the chase from the start, upper-cutting Malinga in the first over, and then regularly finding the boundaries with square-drives and cuts. Against the spinners, he was always in his comfort zone, chipping into the outfield for twos to stay within touching distance of the asking rate.

Sri Lanka's innings was a story of two high-quality partnerships. Jayawardene's decision to bat first at a venue where recent results have favoured the team chasing seemed to have backfired when Zaheer Khan and Irfan reduced them to 20 for 3. Both bowlers made excellent use of the bounce and seam movement on offer, regularly beating the bat. The wickets followed soon, as Tillakaratne Dilshan, Upul Tharanga and Dinesh Chandimal all succumbed early.

That's when the class of Sangakkara and Jayawardene shone through. In testing conditions, where strokeplay wasn't easy against the new ball, both batsmen settled in quickly, though Jayawardene was more circumspect early. Sangakkara unfurled a couple of classy drives - straight and square - and also defended expertly, playing with soft hands, into the gaps, for ones and twos. His one testing moment came in the 15th over, when a short one from Ashok Dinda struck him on his right glove; Sangakkara continued batting, but the injury was later diagnosed as a fracture. Jayawardene, meanwhile, settled in and showed his range and silken touch, playing lofted drives on the off side and deft late-cuts off Rahul Sharma, whose extra pace suited him perfectly.

The century partnership duly came up - it was their fifth India, and only one pair has more. They both looked good to post individual hundreds too, but neither did.

When Sangakkara fell in the batting Powerplay, it seemed India had wrested the initiative again, but their slog-over bowling weakness, and some clever, enterprising batting from Mathews and Jeevan Mendis, meant Sri Lanka were the happier team at the break. Mathews had some luck when he was caught-behind off an Irfan no-ball when on 33, but there was also plenty of smart cricket from both. Mendis, brought into the team to replace Lahiru Thirimanne, justified that selection with an enterprising knock, reverse-sweeping Ashwin and then smashing Dinda's friendly short ball over midwicket for the only six of the innings. Mathews was equally enterprising, moving to leg and making room to spank the medium-pacers through the offside.

It seemed their heroics towards the end would be enough, but India's three left-hand batsmen then came to the party.