New Zealand, set 531 to win, were bowled out for 172 in their second innings. It was the biggest win by a margin of runs by South Africa. The margin was two runs bigger than when they beat England at Lord's in 1994.
Steyn, bowling at high pace and exploiting a pitch of variable bounce, took five for 59 after taking five for 34 in the first innings.
Captain Daniel Vettori made a fighting unbeaten 46 for New Zealand but his team were outclassed after making a good start to the match when they bowled out South Africa for 226 on the first day.
Scorecard of first Test
The Black Caps also suffered from injuries and illness, including an abdominal strain which brought an early end to the tour for strike bowler Shane Bond, who did not bat in the second innings.
It took only nine balls for South Africa to make the first breakthrough of the day after New Zealand resumed on 57 for three. Steyn dismissed Scott Styris for 16 when the batsman gloved a catch down the leg-side to wicketkeeper Mark Boucher.
Brendon McCullum was peppered with short deliveries and took a painful blow on the left forearm as well as being hit on the right glove. But McCullum made 26 before fending Steyn to Herschelle Gibbs at gully.
Michael Papps, selected as an opening batsman but only able to bat at number seven after being off the field all day Saturday because of illness, made only five before steering Jacques Kallis' first delivery of the innings to Graeme Smith at first slip.
Jacob Oram, batting with a runner after suffering a hamstring strain while bowling on Saturday, made 40 and shared a seventh wicket stand of 45 and took the match into the afternoon before he lofted a catch to mid-on off left-arm spinner Paul Harris.
The end came rapidly with Iain O'Brien caught at short leg off Steyn and Chris Martin was bowled by Steyn.
After their first innings failure South Africa bowled out New Zealand for 118 and then piled up 422 for three declared in their second innings, with Jacques Kallis and Hashim Amla making centuries.
The second and final Test starts at Centurion on Friday.