Sri Lanka, who resumed in the morning on 22 for one in their second innings, were 187 for five at tea on the fourth day at the Sinhalese Sports Club.
Silva, who is batting with six stitches on the webbing of his little finger after injuring himself while fielding on Monday, was unbeaten on 78 with Dinesh Chandimal on 10 at the break.
Off-spinner Nathan Lyon, who has claimed two wickets, sent Sri Lankan skipper Angelo Mathews trudging back to the pavilion for 26, ending a 58-run fifth-wicket stand.
Silva, who survived an lbw appeal against Lyon after a successful umpire review in the first session, regularly received medical aid for his injured finger during breaks.
More From This Section
Earlier Australia also benefited from a review after left-arm spinner Jon Holland had Kusal Perera caught off a top edge which took the pads and went into the wicketkeeper's gloves.
Perera, who scored 24, was undone by a side angle replay after a front-on view had been inconclusive.
Kusal Mendis hit a quickfire 18 off 14 balls with two sixes and a four but his counter-attack was halted when he was trapped lbw by Mitchell Starc.
Sri Lanka spinner Rangana Herath led the attack, snaring six wickets, with Australia all out for 379 in response to Sri Lanka's 355.
Sri Lanka, with an unassailable 2-0 lead, are looking for their first Test series whitewash against Australia.