McCullum was given a guard of honour by the Australians to start the game and ended it lifting the Chappell-Hadlee Trophy as the world champions were beaten 2-1 in the series.
The 34-year-old signed off from the 50-over game in typical fashion, thrashing 47 from just 27 balls, but a late collapse of nine for five saw the Black Caps bowled out for 246.
That proved more than enough, however, in an Australian chase mired in some controversy after a hotly-debated Mitchell Marsh dismissal.
Marsh was given out after Matt Henry accepted a return catch that first thudded off Marsh’s boot, although a decision to refer the call was only made after the replay appeared on the big screen at Seddon Park.
Marsh was clearly unhappy as he walked off, directing some of his anger at McCullum, and it came as Australia lost their final six wickets for 38 runs to be bowled out for 191 in 43.4 overs.
New Zealand leg-spinner Ish Sodhi was named man of the match, after taking 2-31 on his home ground, and only after he was a late call-up to replace the injured Mitchell Santner.
McCullum set up the match in a quickfire 84-run opening stand with Martin Guptill, who top-scored with 59, in just 9.3 overs before he was well caught by John Hastings off Marsh.
The skipper left the field to a standing ovation to recognise a 260-game ODI career that statistically brought him more than 6,000 runs but more significantly saw him steer New Zealand to last year’s World Cup final while also establishing himself as one of the best captains and hardest-hitting batsmen in the white-ball format.
McCullum will bring down the curtain on his international career in the two-match Test series, which begins with his 100th Test in Wellington on Friday, before ending in his home city of Christchurch.