Australia picked up three late wickets after Sri Lanka opener Dimuth Karunaratne was felled by a nasty bouncer on Saturday, as the hosts took command of the second Test by posting a massive first innings 534/5 declared on day two at Manuka Oval.
The tourists reached 123/3 at stumps and trail Australia by 411 runs, with Kusal Perera unbeaten on 11 and Dhananjaya de Silva on one.
Australia, who lead the two-match series 1-0 after winning the opener by an innings and 40 runs at Brisbane last week, are on course to claim their first series since a 4-0 Ashes victory over England last year.
After resuming on 384/4, the hosts declared their first innings closed after lunch. Kurtis Patterson, in just his second Test innings, was unbeaten on 114 after posting his maiden century and captain Tim Paine was 45 not out.
In reply, Sri Lanka's left-handed opening pair of Karunaratne and Lahiru Thirimanne held off Australia's attack for 30 overs to add 82 before a vicious Pat Cummins delivery struck Karunaratne around the back of the neck.
The impact felled the 30-year-old and he was stretchered off in a neck brace after a lengthy delay. He was forced to retire hurt on 46.
That ended Sri Lanka's solid opening stand, the best from a visiting team in Australia since England's Alastair Cook and Michael Carberry put on 85 in Perth in December 2013.
Karunaratne's departure seemed to derail Sri Lanka's innings.
In the following over, Thirimanne hit off-spinner Nathan Lyon for two fours before edging him to slip on 41. Cummins then breached the defence of Kusal Mendis (six) with a peach of a delivery.
While Mitchell Starc was regularly clocking over 150 kph during his opening spell, the Australia pace spearhead once again lacked direction. He finally had some joy when he got captain Dinesh Chandimal (15) to glove a catch behind shortly before stumps.
The home side had struggled with the bat recently but have three centurions in Canberra already.
After hundreds from Joe Burns and Travis Head on the first day, the 25-year-old Patterson, who made his debut in Brisbane, looked untroubled against a second-string Sri Lanka attack.
Overnight centurion Burns added eight to his overnight score before playing on to his stumps for 180.
Patterson, who smacked 14 fours and a six in his knock, and Paine then continued to plunder runs at will with an unbroken sixth-wicket stand of 130.