Michael Hussey hit a 14th Test century and debutant Shaun Marsh his first as Australia flayed Sri Lanka in the second cricket Test in Pallekele on Saturday.
The West Australian team-mates put on 258 for the fourth wicket as the tourists moved to 378-4 in their first innings by lunch on the third day, a lead of 204 runs with six wickets in hand.
Marsh was unbeaten on 130 and Hussey was dismissed after making 142, his second big knock in the series after a match-winning 95 in the first Test in Galle last week.
The two left-handers, who began the day at 264-3, stayed together till 10 minutes before lunch when Hussey holed out to the cover fence against part-time spinner Thilan Samaraweera.
Their partnership was the highest ever against Sri Lanka for the fourth wicket, surpassing the 256 by Sachin Tendulkar and Sourav Ganguly for India in Mumbai in 1997.
The pair had joined forces on Friday morning when Sri Lanka grabbed three quick wickets to reduce Australia to 116-3 in reply to their own 174.
Both Marsh and Hussey reached their respective centuries in the same over from Suraj Randiv 45 minutes after the start of play.
Hussey, who was on 76 overnight to Marsh's 87, outscored his partner and achieved his third hundred against Sri Lanka with an on-drive for two runs.
Marsh moved to 98 by driving seamer Chanaka Welegedara through the covers for a four and then reached 100 by flicking Randiv to mid-wicket for two.
Former Australian opener Geoff Marsh applauded warmly from the stands as his 28-year-old son jumped in the air with a raised bat to celebrate the landmark.
The younger Marsh had come into the Test side in place of former captain Ricky Ponting, who had to return home after Galle for the birth of his second child.
The century will help the left-hander secure his place in the team even when Ponting returns for the third and final Test in Colombo from September 16.
As Australia piled up the runs, Sri Lanka rued the absence of their two first-choice spinners, Ajantha Mendis and Rangana Herath, who were forced to miss the match with injuries.
Australia, who won the first Test by 125 runs, are hoping to clinch the three-match series, their first in Sri Lanka since 2004.