The hosts set Sri Lanka an improbable 516 to level the series after piling up 534 for five declared in their first innings and declaring again at 196 for three on Sunday.
Starc rattled thorough Sri Lanka's batting order to clinch his second 10-wicket haul in Test cricket and help Australia to their first series win since the 2017/18 Ashes.
The fast bowler outclassed Sri Lanka's batsmen who were bowled out for 149 after making just 215 in their first innings.
The player of the match needed just seven deliveries to claim his first scalp on day four, dismissing opener Dimuth Karunaratne before having skipper Dinesh Chandimal caught at third slip.
He removed Niroshan Dickwella and Kusal Perera in consecutive balls in the 29th over as he took five for 46 to follow up his five for 54 in Sri Lanka's first innings.
Kusal Mendis top-scored with 42 runs off 69 balls, while Pat Cummins took three for 15.
Join our new commenting forum
Join thought-provoking conversations, follow other Independent readers and see their replies