New Zealand started the day on 329-4, following centuries from McCullum and Kane Williamson.
Williamson departed midway through the final session on day one when Zaheer Khan (2-98) had the batsman caught down the leg-side by MS Dhoni, but Corey Anderson came in and managed to make 42 before the end of play.
McCullum continued to keep out the India attack and reached 150 with a shot straight down the ground to the fence.
Anderson managed to make 77 before Ishant Sharma trapped him in front of the stumps to leave New Zealand on 384-5.
However, 450 was soon up for the Kiwis and McCullum reached his double century (202*) with a four just before lunch.