McCullum was on 228, his highest test score, at the tea break while wicket keeper BJ Watling was on 119, his third century and also his highest score in tests, to guide the hosts to 440 for five, a lead of 194 runs.
The pair have combined for a 346-run partnership, the third highest by any New Zealand combination in test cricket.
Andrew Jones and Martin Crowe hold the highest partnership for New Zealand after they scored a then-world record of 467 against Sri Lanka in 1991.
McCullum, who scored 224 in the first test at Eden Park, is the second New Zealand batsman after Stephen Fleming to have scored three test double-centuries.
All of McCullum's have come against India, his first a 225 in 2010.
McCullum and Watling came together shortly after lunch on Sunday at 94 for five, still 152 runs from making the visitors bat again.
The naturally aggressive McCullum curbed his attacking instincts and battled problems with his shoulder and troublesome back in taking his side to a six-run lead at stumps on Sunday.
They survived to guide New Zealand to lunch at 347-5, a lead of 101 runs, and picked up from where they left off by accumulating singles, leaving plenty of deliveries and hitting bad balls to the boundary.
Milestone after milestone fell in the middle session with the ground announcer seemingly making a new announcement every five minutes.
Watling brought up his ton when he clipped a Zaheer Khan half-volley off his legs to the midwicket fence for his 12th boundary and was warmly embraced by his captain.
McCullum then flayed a wide delivery to the cover boundary to bring up the 300-run partnership and moved his personal score to 199.
The 32-year-old had to wait until after the drinks break to notch his 200th run, but clipped a ball to the midwicket fence to bring up the milestone and received a standing ovation from the small crowd.
The first New Zealand batsman to have scored a double-century in successive tests, McCullum is also the second to have achieved two double-centuries in a test series after Glenn Turner against West Indies in 1972.
India must win the match to level the two-test series after New Zealand won the first test by 40 runs.