Seamers Trent Copeland and Ryan Harris took two wickets each as Australia's bowlers capitalized on early pitch movement, reducing Sri Lanka to 76-5 at lunch on Thursday's opening day of the second Test.
Despite winning the toss and electing to bat, Sri Lanka were soon in trouble.
Harris removed opener TharangaParanavitana (0) caught-behind in the third over. The left-hander played at a delivery moving away from him and the ball took a slight edge through to wicket-keeper Brad Haddin.
Skipper TillakaratneDilshan (4) left a delivery from Copeland alone but the ball nipped back sharply to hit off stump. Copeland then had MahelaJayawardene (4) caught by Michael Hussey diving at gully to leave the hosts at 14-3.
Kumar Sangakkara and ThilanSamaraweera shared 43 runs to raise hopes of a revival by the hosts, but Harris returned to have Samaraweera (17) caught by Haddin, and PrasannaJayawardene (18) joined the procession back to the pavilion, caught by Harris off the bowling of spinner Nathan Lyon.
Sangakkara was on 29 at lunch and Angelo Matthews yet to score, with Sri Lanka badly needing a strong partnership to resuscitate the innings, in a Test the hosts must win to have a chance of claiming the three-Test series. Australia won the first Test in Galle by 125 runs.
Earlier, Shaun Marsh received his first Test cap for Australia from his father, former Test opener Geoff Marsh. He replaced Ricky Ponting, who returned home for the birth of his second child after playing the first Test.
Sri Lanka spinner RanganaHerath was left out after he suffered a finger injury and leg-spinner SeekkugePrasanna was included for his debut, as the second spinner alongside SurajRandiv.