Resolute Sri Lankan batting and bad weather frustrated Australia's bid for a series-clinching win as the second Test ended in a draw in Pallekele on Monday.
Just 35.3 overs were bowled on the final day, in which Sri Lanka moved from their overnight score of 223-2 to 317-6 in the second innings, an overall lead of 80 with four wickets in hand.
Three half-centuries led a determined batting display by the hosts, who had faced defeat after being shot out for 174 in their first knock.
Seamer Ryan Harris finished with 3-54 as the tourists chipped away at the Sri Lankan middle order, but rain did not leave enough time for Michael Clarke's men to force the result that would have given them the series.
Angelo Mathews was unbeaten on 11 and Suraj Randiv was on four when play was halted midway through the post-lunch session. The match was finally called off two hours before the scheduled close.
Australia lead the three-match series 1-0 after their 125-run win in the first Test in Galle, with the final Test starting at the Sinhalese Sports Club in Colombo on Friday.
Sri Lanka, who trailed by 14 runs at the start of the day, lost both their overnight batsmen, Kumar Sangakkara and Mahela Jayawardene, within the first hour.
Australia removed the two star batsmen with the second new ball, which was taken as soon as it was due after one over from Trent Copeland with the old ball.
Sangakkara failed to add to his overnight score of 69 when he was squared up by a lifting delivery from Harris and edged a waist-high catch to Clarke at second slip.
The dismissal broke a threatening 101-run stand for the third wicket between Sri Lanka's main batting hopes.
Clarke then dived to his left to snap a stunning low catch in the slips and send back Jayawardene for 51 off the bowling off Copeland.
Jayawardene stood his ground as the umpires debated whether the ball had touched the ground before landing in Clarke's hand, but replays confirmed it was a clean catch.
Sri Lanka were 288-4, a lead of 51 runs, when a sharp shower drove the players back to the pavilion and the umpires ordered lunch 30 minutes early.
When play resumed, Australia grabbed two wickets in the space of six runs to reduce Sri Lanka to 307-6.
Harris picked up his third wicket of the innings when he forced Prasanna Jayawardene (21) to edge a catch to wicket-keeper Brad Haddin.
Thilan Samaraweera made a dogged 43 when he was dismissed in similar fashion by Shane Watson in the post-lunch session.