The tourists had threatened to steal the initiative away, as they attempt to avoid a 3-0 series whitewash in Sydney, after they reached tea eight runs adrift with just one wicket down. But Australia roared back in a potentially match-defining session to leave Sri Lanka 225 for seven - and with a lead of 87 - at the close.
Australia had looked as though they would face a far tougher chase, on a SCG wicket starting to show signs of wear, after Dimuth Karunaratne and Mahela Jayawardene - in his final Test as skipper - erased a 138-run first-innings deficit.
Wicketkeeper Matthew Wade's first Test century on home soil had allowed the hosts to build that lead on Saturday morning before captain Michael Clarke surprisingly declared on 432 for nine half and hour before lunch.
Clarke's call was rewarded with the early wicket of Tillakaratne Dilshan, who edged Mitchell Johnson to third slip, but Karunaratne and Jayawardene then took charge. Karunaratne brought up his 50 by driving Nathan Lyon over long on for six, although he survived a dropped catch by Wade off the spinner when on 54.
Despite that he reached tea on 83, and within sight of three figures, with Jayawardene in able assistance in an unbroken 106-run stand. But Karunaratne could add just a further two runs after the resumption as Sri Lanka's hopes tumbled with a flurry of wickets that, at one stage, saw them lose four for 23.
Karunaratne fell to a good Bird ball that found his edge through to Wade. Lahiru Thirimanne, who made 91 in the first innings, managed just seven before he hooked Johnson to fine leg and in the next over Thilan Samaraweera recklessly bounded down the wicket at Lyon only to sky a chance before he had scored.
That sparked the mini collapse of four wickets as Angelo Mathews was run out following confusion with Jayawardene, and some excellent fielding by David Warner at mid-wicket, before the skipper offered an edge behind soon after off the tireless Peter Siddle.
Jayawardene's departure, after he had effortlessly reached 60, ensured Australia had all but snuffed out Sri Lanka's resurgence. It was left to the tail to build the small lead, but Dhammika Prasad nicked to Wade off Mitchell Starc.
Dinesh Chandimal (22 not out) and Rangana Herath (7no) remained thereafter, to build toward a 100-run advantage, although they have plenty more work to do on Sunday if Sri Lanka are to set a testing fourth-day chase.