Sri Lanka bagged the key wicket of Joe Burns for 180 on Saturday, but there was little else to cheer about with Kurtis Patterson hitting a maiden 50 as Australia piled on more runs in the second Test.
In cool and overcast conditions at Manuka Oval in Canberra, the home team resumed on 384 for four and extended their lead to 474 for five by lunch on day two.
It is the first time Australia have gone past 400 since the Ashes Test against England in Sydney 13 months ago.
The impressive Patterson, who was dropped first ball, was 74 not out at the break, alongside skipper Tim Paine on 28.
Opener Burns punished the inexperienced Sri Lankan attack on Friday in a 308-run stand with Travis Head (161), carrying his bat through the day.
But, he only lasted five overs after resuming on 172, adding eight runs before chopping a delivery from quick Kasun Rajitha onto his stumps.
He trudged off dejected after missing a glorious chance to notch a first Test double century against a team missing its three first-choice pace bowlers Suranga Lakmal, Lahiru Kumara and Dushmantha Chameera through injury.
The last Australian to reach 200 remains former skipper Steve Smith, who made 239 against England at the WACA Ground in December 2017 before being banned for ball-tampering.
Burns’ departure brought the consistent Paine to the crease, who took his time to get off the mark but then hit some cracking boundaries to keep the pressure on the visitors, who lost the first Test in Brisbane by an innings and 40 runs.
At the other end Patterson, who earned a debut in Brisbane after hitting 157 and 102 for a Cricket Australia XI in a warm-up against Sri Lanka, reinforced his credentials as an exciting No.6.
The left-hander, who had been on the fringe of selection for a number of years, brought up his 50 off 100 balls with a flick off the pads for a single after starting the day on 25.