Mitchell Starc and Usman Khawaja found form as Australia closed in on victory over Sri Lanka in the second Test in Canberra on Sunday.

Starc (5-54) and Khawaja (101 not out) starred for the hosts, who enjoyed a dominant third day at Manuka Oval.

With the help of Starc, Australia bowled Sri Lanka out for 215 – earning a 319-run first-innings lead – before reaching 196-3 and declaring, setting the tourists 516 for victory.

Bad light saw play stopped as Sri Lanka's openers survived, getting to 17-0 and needing another 499 runs to win.

Sri Lanka resumed at 123-3 and Starc quickly ripped through the lower order to give Australia complete control of the Test.

It was short-pitched bowling that caused the tourists trouble early, with Kusal Perera (29) retiring hurt after being hit in the head by Jhye Richardson (0-49).

Perera was replaced by Dimuth Karunaratne, who had been taken to hospital after being hit by a bouncer on Saturday.

A short delivery led to the departure of Dhananjaya de Silva, who hit his wicket after attempting to pull a ball from Starc on 25.

Dimuth Karunaratne (59) chased a wide one from Starc and was caught by Kurtis Patterson before Nathan Lyon (2-70) removed Chamika Karunaratne for a duck.

The tail fell quickly as Starc grabbed the final two wickets for his 10th Test five-for and first since March 2018.

There were again some top-order worries for Australia, who slumped to 37-3 as Marcus Harris (14), Joe Burns (9) and Marnus Labuschagne (4) departed.

But Khawaja played a fine innings after a slow start and was joined by Travis Head (59 not out) for an unbroken 159-run partnership.

Under some pressure and having dropped a simple catch earlier in the day, Khawaja delivered a much-needed century – his first since October and eighth in Tests.

Tim Paine waited for Khawaja to reach the milestone before declaring, setting Sri Lanka 516 for victory.

Australia were unable to find the breakthrough they wanted in six overs before play was ended early due to bad light with Dimuth Karunaratne (8) and Lahiru Thirimanne (8) unbeaten.