Kumar Sangakkara scored a century and Rangana Herath picked up four wickets to leave Sri Lanka on the brink of their fourth Test win in five at home this season as they reduced New Zealand to 182 for six in pursuit of 494 to win their second Test in Colombo.

Going into the final day of the series, Sri Lanka will need to pick up four wickets while New Zealand have no recognised batsmen to come after Jacob Oram and Daniel Vettori, unbeaten on seven and five respectively overnight.

Sri Lanka pressed on, resuming the day on 157 for two, Sangakkara stroking 109 in 175 balls and Mahela Jayawardene falling just short of a century for the second time in the match, making 96 in 153 deliveries; the pair of them adding 173 for the third wicket.

Sri Lanka gave Jayawardene the chance to reach his century before declaring, bringing the innings to a close on 311 when he was dismissed and in the process asking New Zealand to smash the record for a fourth innings run chase in a Test match, which still stands at 418.

New Zealand reached 36 before losing their first wicket, Tim McIntosh bowled by Dammika Prasad for seven and five runs later, Martin Guptill (28) was also on his way, the first of Herath's victims, caught behind by Prasanna Jayawardene.

Daniel Flynn made 50 in 93 balls before he was trapped in front by the left-arm spinner and he struck again to send back Ross Taylor (27), and Jesse Ryder (38) while Muttiah Muralitharan bowled Brendon McCullum for 13 to leave New Zealand reeling.

Sri Lanka won the first Test in Galle by 202 runs and their dominance of this match comes on the back of a first innings century from Thilan Samaraweera (143) and three wickets apiece in New Zealand's first innings from Herath and Muralitharan.