Sri Lanka moved into second place in the CB Series with a 51-run victory over India in Brisbane.
Tillakeratne Dilshan and Lahira Thirimanne struck half-centuries and Angelo Mathews a lusty 49 not out at the death as Sri Lanka posted 289-6 in Game 8 at the Gabba.
Several Indian batsmen got starts in the run-chase but as so often in the recent past were out playing loose strokes, capitulating in the end as they slumped to 238 all out inside 46 overs.
Virat Kohli was twice dropped by Dinesh Chandimal on the way to making 66, but seamers Nuwan Kulasekara and Thisara Perera combined for seven wickets to help seal the win.
Mahela Jayawardene's decision to bat first paid immediate dividends when he put on 95 with Dilshan for the first wicket.
However, the pair fell within three overs of each other, Jayawardene (45) falling to a fine catch by Virender Sehwag off Irfan Pathan before Dilshan was caught behind off spinner Ravichandran Ashwin having made 51.
Sri Lanka needed to rebuild and although Kumar Sangakkara could make only eight in a 15-ball stay, Chandimal and Thirimanne picked up the baton.
The pair added 71 for the fourth wicket before Pathan uprooted the former's stumps having made 38, leaving the side on 195-4 with 11 overs remaining.
But Thirimanne and Mathews kept the scoreboard flowing freely, the former scoring a run-a-ball 62 before holing out to Suresh Raina off Ashwin, while Mathews cracked 49 from 37 balls to give the innings late impetus.
Sri Lanka carried that momentum through to the reply as Sehwag swished at Lasith Malinga's second ball to be caught by Kulasekara at third man.
Sachin Tendulkar looked in commanding form, stroking 22 from 23 balls before bottom-edging a Kulasekara ball onto his stumps and ensuring his quest for a 100th international century will drag on.
Kulasekara struck again when Gautam Gambhir guided a good-length ball straight to Perera at gully in the 12th over.
The Sri Lankans were starting to regret putting Raina down when he had scored four while Chandimal should have sent Kohli packing on 14 and 32, but spilled two easy chances at deep mid-wicket.
The duo added 92 for the fourth wicket before Raina (32) fended a short-pitched ball from Farveez Maharoof to Thirimanne at short cover, and Kohli was finally out, cramped by the extra bounce of a Perera short ball and popping a simple catch to Kulesakara at mid-on having reached 66.
Pathan kept the game alive with seven boundaries in his 47 from 34 deliveries, but wickets fell in quick succession at the other end and he was last man out when giving Perera a sharp return catch - the bowler taking 4-37 as Sri Lanka made it two wins from their last two matches.
The series resumes on Friday when Australia take on Sri Lanka in Hobart.