The Wallabies lead 17-3 at the break but All Blacks dominated the second half to secure victory.
It was a tale of two halves as the Wallabies stunned the hosts early.
Tries to Marika Koroibete and Tom Hooper in the opening ten minutes had the Wallabies dreaming of their first win in New Zealand in over 20 years.
They took a 17-3 lead into the break before the All Blacks hit back via debutants Shaun Stevenson and Samipeni Finau.
Quade Cooper levelled the game with seven minutes to go, only for Mo'unga's late strike to give the hosts a Bledisloe clean sweep.
The Wallabies delivered an ambush in the first 10 minutes.
The decision to turn down an early three points was rewarded when winger Marika Koroibete dived over in the corner in the third minute.
Full of confidence, a great offload from Mark Nawaqanitawase put Andrew Kellaway into space, with Tom Hooper stretching out for his debut try.
Two world-class conversions from Carter Gordon and the visitors suddenly had a 14-0 lead inside eight minutes.
Late replacement Matt Faessler was thrust into the action after just 14 minutes for Dave Porecki (HIA), with Jordan Uelese ruled out before kick-off with a knee injury.
Both sides traded penalties as the game settled into a rhythm dictated by the Australians.
Captain Tate McDermott looked certain to score, only for Ardie Savea to somehow roll him onto his back and hold him up.
A 50/22 from Carter Gordon couldn’t be covered as the Wallabies went into the break with a 17-3 lead.
The All Blacks came out of the tunnel with new life as they built significant pressure on the Wallabies' breakdown to force turnover after turnover.
Debutant Shaun Stevenson ignited the Forsyth Barr faithful with his debut try to start the comeback.
Leicester Fainga’anuku thought he had levelled it up, only for replays to show a clear knock on in the process of grounding it.
Richie Mo’unga reduced the margin to four, with Gordon unable to add his own as his attempt slammed into the left upright, proving costly
It allowed the All Blacks to take the lead with 15 minutes to go when Samipeni Finau powered over the line.
However, the Wallabies were never going to give up and replacement Quade Cooper set up a grandstand finish with a long-range penalty, tieing it up with eight minutes.
The All Blacks had first chance to attack, building over 20 phases before Richie Mo’unga’s cross field kick was inches over the head of Stevenson.
The visitors hunted for their own response, only for Cooper to knock it on 40 metres out.
From the resulting scrum, the All Blacks earned the penalty and Mo’unga made no mistake with the kick to win the game for the hosts in what could be his first Test game on home soil.
“Obviously gutted. We put ourselves in a position to win it, we were just chasing our tails in the second half,” Captain Tate McDermott said.
“You’ve got to give them credit for the way they came out of the blocks but we knew they’d come like that.
“Disappointed with the result but I’m so proud of that effort. Obviously not happy with it but from where we were last week to where we are now, it’s a massive step up.”
ALL BLACKS 23 [TRIES: Stevenson, Finau; CONS: McKenzie 1/1, Mo'unga 1/1; PENS: McKenzie 1/1, Mo'unga 2/2] WALLABIES 20 [TRIES: Koroibete, Hooper; CONS: Gordon 2/2; PENS: Gordon 1/2, Cooper 1/1]
New Zealand (15-1): Will Jordan; Shaun Stevenson, Braydon Ennor, Anton Lienert-Brown, Leicester Fainga'anuku; Damian McKenzie, Finlay Christie; Ardie Savea, Sam Cane (capt), Samipeni Finau; Sam Whitelock, Brodie Retallick; Nepo Laulala, Samisoni Taukei'aho, Tamaiti Williams.
Replacements: Dane Coles, Ofa Tuungafasi, Fletcher Newell, Tupou Vaa'i, Luke Jacobson, Aaron Smith, Richie Mo'unga, Dallas McLeod.
Wallabies (15-1) Andrew Kellaway; Mark Nawaqanitawase, Jordan Petaia, Samu Kerevi; Marika Koroibete, Carter Gordon, Tate McDermott (capt); Rob Valetini, Tom Hooper, Fraser McReight; Richie Arnold, Nick Frost; Pone Fa'amausili, David Porecki, Angus Bell
Reserves: Matt Faessler, James Slipper, Zane Nonggorr, Will Skelton, Rob Leota, Nic White, Quade Cooper, Izaia Perese.
Referee: Karl Dickson (England)
Assistant referees: Wayne Barnes (England), Christophe Ridley (England)