In their last Test before David Warner and Steve Smith's likely Ashes returns, Australia claimed their first multi-game series victory in any format since the ball-tampering saga last March.
Starc picked up his 10th five-wicket haul - his first since his 5-34 against South Africa in Durban last March - as Australia bundled out Sri Lanka for 215 to take a first-innings lead of 319.
Burns' innings and his record 308-run partnership with Head (161) on the first day put Australia in an nearly unbeatable position, which could ensure a first Test series win since the 2017/18 Ashes.
But Khawaja and first-innings centurion Travis Head combined for a stand of 159 as Australia declared their second innings closed on 196-3.
It is coach Justin Langer and captain Tim Paine's first series success at the helm.
Starc then returned for a second spell, picking up two wickets in two balls as first Dickwella and then Kusal Perera were sent back to the pavilion.
Perera was then hit flush on the helmet ducking into a Richardson ball on 27.
Australia is hurtling towards victory on day four of the second Test against Sri Lanka in Canberra, with Mitchell Starc picking up four wickets before lunch as the visitors crumble.
Ironically, Karunaratne replaced him after being declared fit again after being felled by a brutal bouncer on Saturday from Pat Cummins.
"Will Pucovski has been released from the men's Test squad and will return home to Melbourne to continue managing his wellbeing", said team doctor Richard Shaw.
Karunaratne added 13 runs to his score on Sunday and brought up his 22nd test half-century before he was dismissed for 59.
Karunaratne was 46 not out when he was struck by Cummins, who was joined by team-mate Kurtis Patterson in wishing the Sri Lanka batsman a speedy recovery.
The tall left-arm quick was back at his fiery best on Sunday, however, and tested the batsmen with short-pitched deliveries, one of which accounted for Dhananjaya de Silva. As his bat swung around it took one of the bails off and he was gone for 25.
Vishwa Fernando was the best of the Sri Lankan bowlers in the first innings with three wickets for 126 runs.