The tall seamer, playing on his home ground, gained considerable lift and movement after rain had delayed the start and ended with 4 for 39 from 19 aggressive overs.
Having won the toss, New Zealand's troubles began in the second over after lunch when they lost two wickets. McMillan had Darrin Murray caught at short leg by Gary Kirsten for five and Adam Parore was run out in a misunderstanding with Bryan Young.
Martin Crowe was caught behind off Steven Jack for 18, McMillan trapped Young lbw for a gutsy 45 and then bowled Shane Thomson for a third-ball duck to reduce New Zealand to 96 for 5.
Only a dogged partnership between Ken Rutherford and Stephen Fleming prevented South Africa taking total control as New Zealand added 83 for the sixth wicket.
But just as Rutherford looked to be regaining his confidence after a lean batting spell he fell to a sucker punch. Kirsten dropped a little deeper at square leg and McMillan's short ball lured Rutherford into the pull shot which had twice cost him his wicket in the Durban Test.
The ball went straight to a delighted Kirsten and the New Zealand captain was obviously annoyed with himself as he trudged off the field. His 56 came from 138 balls and included seven fours.
New Zealand's hopes now lie with the aggressive left-hander, Fleming. Having been dropped down the order to No 7, Fleming responded with his best innings of the tour and at the close was 58 not out.
(First day; New Zealand won toss)
New Zealand - First Innings B A Young lbw b McMillan 45
D J Murray c Kirsten b McMillan 5
A C Parore run out 2
M D Crowe c Richardson b Jack 18
*K R Rutherford c Kirsten b McMillan 56
S A Thomson b McMillan 0
S P Fleming not out 58
M N Hart not out 8
Extras (lb12 nb7) 19
Total (for 6) 211
Fall: 1-17 2-19 3-61 4-95 5-96 6-179.
To bat: S B Doull, D K Morrison, C Pringle.
Bowling (to date): De Villiers 23-6-70-0 (nb1); Jack 17-7-41-1 (nb1); McMillan 19-4-39-4 (nb5); Cronje 5-3-8-0; Eksteen 24-10-34-0; Kirsten 2-0-7-0.
South Africa: G Kirsten, P J R Steyn, J B Commins, *W J Cronje, D J Cullinan, J N Rhodes, B M McMillan, D J Richardson, S D Jack, C E Eksteen, P S de Villiers.
n The Sheffield Shield champions, New South Wales, crashed to their third successive defeat yesterday when they lost by 10 wickets to Western Australia.Reuse content