Guptill missed by one ball A.B. de Villiers' 16-ball record for the fastest one-day half century but matched Sanath Jayasuriya's mark for the second-fastest and beat by one ball Brendon McCullum's record for a New Zealander.
As Guptill flayed the Sri Lanka attack, a match which had already been lop-sided lurched towards farce. Sri Lanka had been bowled out for 117 in only 27.3 overs after winning the toss and choosing to bat and Guptill made 93 to blast New Zealand to victory in only 8.2 overs and 40 minutes.
Guptill faced only 30 balls, hitting nine fours and eight sixes and following on from his 79 in the first match of the series which New Zealand won by seven wickets.
He strongly challenged De Villiers' world mark, achieved against the West Indies earlier this year, and dashed to 47 from 14 balls. But, just when he needed a boundary, it eluded him and he carried on to his half century in singles.
Opening partner Tom Latham, who made an unbeaten 17 from 20 balls, was mainly a spectator as Guptill charged towards New Zealand's winning total. At his remarkable tempo, New Zealand reached 50 in only 2.4 overs.
New Zealand's 100 came in 6.4 overs and Guptill was also on target to challenge de Villiers' record for the fastest one-day international century, from 31 balls, but Latham hit the winning runs.
Guptill was made aware that de Villiers' half century record was achievable when he reached 42 from 11 balls.
"(Umpire) Richard Illingworth said I was getting close (to the record) with a couple of balls to go," Guptill said. "Unfortunately, I got a couple of yorkers in there so I couldn't quite get it but I'll take a not out and the win rather than the fastest 50.
"We were trying to carry on from the other day and create a partnership up to to get the strike rate going and we managed to do that."
Latham opened with Guptill in place of captain Brendon McCullum who left the field during the Sri Lanka innings suffering stiffness in his back. McCullum was happy to be a spectator as Guptill played a Man of the Match role.
"He hit the ball well in the first match but he hit it even better today," McCullum said. "There aren't very many players in the world who can do that but he's one of them and he's had a stellar year.
"It was an outstanding game from our point of view. After the way we played the other day I asked the guys to go up another gear and they certainy did that today."
Earlier, Matt Henry took 4-33 and Mitchell McClenaghan 3-32 as Sri Lanka was bowled out for 117 in 27.4 overs.
Henry dismissed openers Danushka Gunathilaka (17) and Tillakaratne Dilshan (7), then returned to remove Sachithra Senanayake and Nuwan Kulasekara who top-scored with 19.
Sri Lanka was once again let down by its senior batsmen, including Dilshan, Dinesh Chandimal (9) and captain Angelo Mathews (17).
"It was quite embarrassing," Mathews said. "It was once again a pathetic batting display by the whole batting unit.
"We didn't give our bowlers a chance to bowl at them. We've got three matches to go. It's unfortunate we couldn't even compete in the first couple of games but hopefully we'll turn it around in Nelson."
BRIEF SCORES (FULL SCORECARD)
Sri Lanka: 117 in 27.3 overs (Nuwan Kulasekara 19; Matt Henry 4/33, Mitchell McClenaghan 3/32).
New Zealand: 118-0 in 8.2 overs (Martin Guptill 93 not out).
Result: New Zealand win by 10 wickets.