He adopted a one-day approach and Sri Lanka had no answers.
His 11 sixes equalled the New Zealand test record for an innings, held by Nathan Astle and was one short of Pakistani Wasim Akram's world record 12.
McCullum is now up to 92 career sixes, eight short of Australian Adam Gilchrist's world best of 100.
Neesham made 85 off only 80 balls, an important innings as he'd lost form during the tour of the United Arab Emirates against Pakistan recently.
Sri Lankan star Kumar Sangakkara dropped two very catchable chances and their bowling rate was desperately tardy. Five bowlers took a wicket apiece but the visitors appear to face an uphill job to stay in the test.
A packed Hagley Oval relished the first day's test cricket in the city since Sri Lanka's visit in 2006.
The 2011 earthquake, which devastated the city, meant there had been no international cricket since early 2011.
McCullum's innings gave the day a special resonance for the crowd.