Australia reached 370 for two on Friday after Matthew Hayden and Justin Langer hammered the Sri Lanka attack on the first day of the second Test, each scoring a century.
The 255-run opening stand by Hayden and Langer was their sixth double-century partnership in Test cricket.
Langer was unbeaten on 159 at the close of play while Hayden made 117. The other wicket to fall was Australia captain Ricky Ponting for 22.
Damien Martyn was unbeaten on 56 and added 79 for the third wicket with Langer.
Langer and Hayden said they expected the wicket to become faster, making conditions difficult for batsmen.
"It's going to get quick and bouncy. I just think we're in a great position," Langer told a news conference.
"Two for 370, you'd take that any day. We've got three of the best fast bowlers in the world and not a bad leggie (Shane Warne) either.
Both openers scored hundreds for the 19th time. The taller and more powerful Hayden was out shortly after tea, hitting a gentle long hop from Thilan Samaraweera to backward square leg where he was caught by Sanath Jayasuriya.
Hayden's 185-ball innings included 14 fours and two sixes. The pair put on 255 in 275 minutes off 64.1 overs.
Their 11th century opening stand beat the former Australia record of 10 held by Mark Taylor and Michael Slater.
Langer and Hayden beat their previous best opening stand of 242 against West Indies in 2002-03 and passed the former Australia record for a first wicket partnership against Sri Lanka of 228 by Slater and Taylor in 1995-96.
The 33-year-old Langer punched the air with delight and hugged Hayden after reaching his 100 off 149 balls.
Queenslander Hayden, 32, also made his century before tea.
Langer hit 22 fours and faced 268 balls, slowing down considerably after making 118 by tea and said later he had hurt his back during the third session.
SUNNY DAY
Sri Lanka captain Marvan Atapattu had sent Australia in to bat in warm and sunny conditions on a wicket expected to suit fast bowling.
Sri Lanka coach John Dyson said the touring side had seen a good cover of grass and a bit of moisture on the Cairns pitch on Friday morning.
"So they felt they may get some early help from the wicket and that was the main motivation behind sending Australia in," Dyson said.
"Australia played very well today and I don't think we bowled at our best. The reason I am disappointed with the bowling was we just didn't put enough balls in the right zones."
Ponting, after waiting almost five hours to bat, lasted only 33 minutes for his 22. Captaining Australia for the first time on home soil, he was caught at cover by Atapattu off the bowling of Lasith Malinga.
Sri Lanka made one change after their 149-run defeat in last week's first Test of the two-match series. The tourists called up specialist wicketkeeper Romesh Kaluwitharana for Russel Arnold.
Australia recalled Ponting, who missed the opening Test for personal reasons, in place of Matthew Elliott.
Scoreboard:
Australia first innings:
J.Langer not out 159
M.Hayden c Jayasuriya b Samaraweera 117
R.Ponting c Atapattu b Malinga 22
D.Martyn not out 56
Extras (w-1 nb-5 lb-3 b-7) 16
Total (for two wickets, 90 overs) 370
Fall of wickets: 1-255, 2-291.
To bat: D.Lehmann, S.Katich, A.Gilchrist, S.Warne, J.Gillespie, M.Kasprowicz, G.McGrath
Bowling: Vaas 21-2-77-0, Zoysa 11-2-53-0, Samaraweera 17-3-55-0, Malinga 20-2-83-1 (w-1, nb-5), Chandana 15-1-72-0, Jayasuriya 6-0-20-0.
Sri Lanka: M.Atapattu, S.Jayasuriya, K.Sangakkara, M.Jayawardene, T.Samaraweera, T.Dilshan, R.Kaluwitharana, U.Chandana, C.Vaas, N.Zoysa, L.Malinga.