Sangakkara had help from Dinesh Chandimal, recalled after missing the first test loss in Christchurch, and the pair put on 130 for the sixth wicket, with Chandimal completing his sixth test half century, making 67.
The pitch played better for the batsmen today than yesterday, when 15 wickets fell, although there was still some sideways movement for the seamers and turn for spinner Mark Craig.
Sangakkara was chanceless until late in the innings when a couple of half chances fell safely.
He dominated the strike cleverly in a ninth-wicket stand with Suranga Lakmal and went to his double century with a superb cover driven four off medium pacer Jimmy Neesham, immediately leaping high and punching the air.
He was out shortly after to a terrific leaping catch at point by Trent Boult, having batted almost seven hours and faced 306 deliveries, with 18 fours and three sixes.
Doug Bracewell and Neesham finished with three wickets apiece, Boult two, and Tim Southee and Craig one each.
SCOREBOARD