In the first over after lunch, Cairns dealt two more blows to the home side as he removed Mahela Jayawardena for 16 and Aravinda de Silva for four.
Jayawardena, a century-aker in the second Test, touched a rising ball to be caught behind by Adam Parore, after which De Silva top-edged a hook shot to be caught by Craig Spearman at fine-leg.
In the process, Cairns took his 100th Test wicket and after coming on for a third spell accounted for the dismissal of Kumara Dharmasena, who edged a ball to be caught behind.
The match is crucial for both teams with the series standing at one apiece. New Zealand won the first Test by 167 runs, while Sri Lanka took the second by an innings and 16 runs.Reuse content