The first Test between Australia and Sri Lanka is tantalisingly poised heading into the final day after the tourists' top order struggled to hold firm.
Kusal Mendis had given Sri Lanka a fighting chance with his superb hundred on day three, his knock ended at 176, and lower-order resistance on Friday furthered their cause.
In reply, Australia opener David Warner fell for one - continuing his poor form in away Tests - before Joe Burns and Usman Khawaja also perished before lunch, Australia 83-3 when stumps were called, still needing 185 runs for victory.
That all four results remain possible in a contest that has been heavily weather affected is a surprise and Mendis' progress from 169 not out was delayed by rain at the start of day four.
The 21-year-old was soon ousted when play resumed, falling in the third over of the day when he nicked Mitchell Starc through to Peter Nevill.
Rangana Herath (35) managed to hang around long enough with Dilruwan Perera (12), Lakshan Sandakan (9) and Nuwan Pradeep (10) to add 63 for the last three wickets, taking Australia's target to a tricky 268 to win.
Warner's dismissal, bowled by Herath, made him the lowest-scoring Australia opener since Mark Taylor's pair in Pakistan 22 years ago and will raise further questions about the left-hander's ability in non-native conditions.
Dilruwan had Khawaja out lbw for 18 before Burns was bowled by a stunning Sandakan delivery that pitched two feet outside off stump before jagging back in to bowl the opener.
Adam Voges was given out lbw on his first delivery, but successfully overturned the decision on review.
Captain Steve Smith (26 no) and Voges (9 no) got to lunch unbeaten before dark skies once again rendered the third session unplayable, with fans hoping for a full day's play on Saturday in what could be a thrilling conclusion.