Nicholls, 25, brought up three figures at the Basin Reserve crowd after four hours at the crease.
He hit 15 fours and faced 150 balls to bring up the milestone, while he and wicket-keeper BJ Watling piled on a 100-run 6th wicket partnership.
Other Black Caps batsmen struggled to contribute alongside Nicholls, with the second-top run scorer being opener Jeet Raval with 36 runs.
Nicholls was eventually bowled out by South African all-rounder JP Duminy for 118 runs.
New Zealand was bowled our for 268 but hit back with a couple of wickets to have South Africa 24-2 at the close of play on the first day of the second test in the three-match series.