DInesh Chandimal and Rangana Herath kept the Australian bowlers at bay for 27 overs for the eighth wicket.
Rain halted play for 25 minutes after the Lunch interval. However, no overs were lost.
Steve Smith struck his second half century of the series to help Australia reach 141 for 1 at Stumps.
Rangana Herath scored 33 before getting retired hurt after being hit on the thigh by a Josh Hazlewood delivery that rose sharply after pitching short of full length. In the process, he went past all Australian players, except Steve Smith, in terms of most runs scored in the series.
Australia struck early, dismissing Dhananjaya de Silva, to bring an end to the double century stand for the sixth wicket. Shaun Marsh, who had dropped the batsman earlier in the innings, caught him this time at forward short leg.
Dinesh Chandimal celebrated his seventh Test century with a roar and a leap.
Shaun Marsh, who came into the side in place of Joe Burns, struck an unbeaten 64 to lead Australia's revival.
Steve Smith (right) and Shaun Marsh led Australia's fightback with a century stand. It was the first hundred-plus partnership for Australia in the series.
Sri Lanka struck early as David Warner's attempt to counter attack backfired.
Mitchell Starc finished with a five-wicket haul as Sri Lanka were bowled out for 355. It was his third consecutive fifer.