Stand-in Lahiru Thirimanne and skipper Mahela Jayawardene missed centuries as injury-hit Sri Lanka slumped to 294 all out after a strong start to the third Sydney Test against Australia on Thursday.
Thirimanne, who only arrived in Australia this week to cover for the injured Kumar Sangakkara, threw away a chance of a first Test hundred.
Jayawardene scored his first away Test half-century in more than three years but was caught at slip on 72.
The tourists, demoralised after last week's innings and 201-run defeat in Melbourne to lose the series, showed greater resolve in the dead-rubber final Test as they chased their first ever Test win Down Under at the 13th attempt.
They were all out shortly before stumps on the opening day with paceman Jackson Bird taking four for 41 off 19.4 overs and recalled Mitchell Starc getting three wickets.
Thirimanne, who had just one nets session as preparation, reached his highest Test score after he was given out leg before wicket to Bird on his first ball before the dismissal was overturned on review.
Thirimanne also had a life on 65 when put down by wicketkeeper Matthew Wade off spinner Nathan Lyon, but with a century in sight off 151 balls, he tossed away his wicket on 91.
His flashing miscue off Lyon was brilliantly caught by David Warner diving full length at cover point.
Thirimanne trudged from the wicket shaking his head as he watched his dismissal on the large screen.
"I am really disappointed because this was a great opportunity for me after a long break from Test cricket, but I feel I batted really well so at the end of the day I am really happy with my performance," Thirimanne said.
Jayawardene earlier steadied the tourists after the loss of both openers before lunch.
The last time Jayawardene had passed 50 in an away Test was way back in November 2009 in India, although he has continued to score heavily at home. He went 26 innings outside Sri Lanka without a half-century.
It was a more confident Jayawardene than seen in the Hobart and Melbourne Test defeats and he faced 110 balls in 154 minutes before he was snapped up by Michael Clarke at slip off Starc in the 43rd over.
Starc had a few anxious moments when New Zealand umpire Tony Hill checked for an overstepping no-ball. But replays showed that Starc's heel was just behind the popping crease before he dragged it forward and the dismissal was confirmed.
Bird snared the wicket of Dimuth Karunaratne in the eighth over but Australia had to wait until 20 minutes before lunch for a second, with the dismissal of Tillakaratne Dilshan.
Karunaratne was out to a poor shot, attempting to pull Bird but only getting a top edge that was safely caught by Mike Hussey, playing in his 79th and last Test match. Dilshan was caught behind off Bird for 34.
"It was nice to get a few wickets early, it was tough work out there, but I thought we stuck at it pretty well towards the end of the day and we got the rewards in that last session," Bird said.
Thilan Samaraweera went leg before wicket to Peter Siddle for 12. Angelo Mathews put on 55 runs for the fifth wicket with Thirimanne before he edged Starc to Hussey at second slip for 15.
Left-armer Starc yorked Dinesh Chandimal with the first ball of the second new ball for 24 late in the day.
Skipper Clarke had looked for a quick return on a bold toss decision to bowl on a green-tinged pitch, after going into a Test with four quicks for the first time since the third Test against India in Perth a year ago.
The Sydney Test had a poignant opening, with both teams paying their respects to Tony Greig in a moving farewell to the former England captain.
Players and fans observed a minute's silence in honour of Greig, who died at the weekend aged 66 from a heart attack while battling lung cancer.