Australia skittled out Sri Lanka for 156 and trailed by just six runs at stumps after an eventful opening day saw 13 wickets fall in the second Melbourne Test on Wednesday.
The home side was in command before a Boxing Day crowd of 67,138 at the sun-bathed Melbourne Cricket Ground, after winning the opening Test in Hobart by 137 runs.
Kumar Sangakkara joined the 10,000 runs club and Mitchell Johnson claimed his 200th Test wicket before the Australian batsmen made Sri Lanka pay for their paltry first innings total made off just 43.4 overs, with David Warner clobbering 62 off 46 balls.
Despite a late flurry of wickets Australia finished the day well on top. At the close they were 150 for three with Michael Clarke, who passed a fitness test on a strained hamstring, not out 20 and Shane Watson on 13.
"We're definitely in a strong position," Johnson said. "I think our two openers started exceptionally well.
"I'm sure they would have liked to have gone on and make hundreds and you don't want to be run out in Test match cricket, but we're three down, we're 150 and we've got a great wicket."
The Sri Lankans were ruing dropped catches off both batsmen late in the day.
Their only bright spot was Sangakkara's 58, which was ended by a stunning running catch by wicketkeeper Matthew Wade to give Johnson his 200th wicket in his 49th Test.