New Zealand earlier recovered from 151 for five to be all out for 373, an 18-run lead, after a dogged 102 from Mitchell and Henry's swashbuckling performance that included 58 runs from boundaries.
Tickner claimed the wickets of captain Dimuth Karunaratne for 17, Oshada Fernando for 28 and Kusal Mendis for 14 in the 38 overs before stumps to finish with three wickets for 28 runs off 10 overs.
Sri Lanka, who need to sweep the two-Test series to keep their hopes of making the World Test Championship final alive, had ripped through the New Zealand top order.
But Mitchell, who has so often been New Zealand's saviour in his 17-Test career, refused to give in as he toiled through 193 deliveries for his eighth century.
The 31-year-old right-hander, son of former All Blacks player and coach John Mitchell, lifted his average to a remarkable 58 from 25 innings.
He put on 54 for the sixth wicket with Michael Bracewell, a further 47 with Tim Southee and 55 with Henry.
Mitchell leapt in the air when he reached his century, waved his bat and received a hug from Henry to celebrate. He added only two more runs before was caught behind off Lahiru Kumara and New Zealand were 291-8.
Henry then exploded with his personal-best 72, which included 10 fours and three sixes.
He belted spinner Dhananjaya de Silva out of the attack by taking 17 runs in just one over.
Worse was to come for Sri Lanka when de Silva's replacement Kasun Rajitha conceded 24 to Henry in his first over.
This was on a third-day wicket that continued to offer assistance to the bowlers, with Rajitha and Asitha Fernando both getting movement early in the day.
Leading up to the drinks break, Bracewell, who had seemed the more settled of the New Zealand overnight pair, was undone by the introduction of left-arm spinner Jayasuriya.
Bracewell had a life when an appeal for lbw was turned down, with reviews showing height was an issue, but with the next delivery Jayasuriya found an edge and Bracewell was caught behind for 25.
Southee brought up New Zealand's 200, belting Jayasuriya over the mid-wicket fence, and continued to swing until the third over with the new ball when he was out to a diving catch by Kumara at square leg.
The New Zealand captain had smashed back-to-back fours off Rajitha but his attempt at a third fell short and he was out for 25 off 20 deliveries.
For Sri Lanka, Fernando returned the best figures of four for 85 while Kumara took three for 76.
Of concern for New Zealand was the fitness of Neil Wagner, who left the field in the final session for treatment to a leg injury.