Flyhalf Aaron Cruden slotted a conversion and two penalties, while his replacement Beauden Barrett added a conversion and a penalty for the home side who now have an 16-match unbeaten streak.
Winger Marland Yarde, fullback Mike Brown and Chris Ashton scored tries for England, while Owen Farrell, who was sinbinned for a professional foul midway through the second half, slotted three conversions and two penalties.
The All Blacks are now unbeaten in 32 tests in New Zealand, a run stretching back almost five years and have won 28 of their 30 internationals since they clinched their second World Cup in 2011.
They had been under pressure from coach Steve Hansen and captain Richie McCaw to lift their performance after the bumbling 20-15 victory at Eden Park last week.
Both, however, would have been ruing their side’s start with all of England’s first half points came in a blistering opening 10 minutes when they denied the All Blacks the ball and the home side fell foul of referee Jaco Peyper, which allowed the visitors to kick downfield for attacking lineouts.
Farrell slotted an early penalty and converted Marland Yarde’s seventh-minute try after England scrumhalf Danny Care had delayed his pass until the defenders were committed and the winger burst through McCaw’s tackle.
All Blacks flyhalf Aaron Cruden responded with two first half penalties before the home side exploded early in the second half, finally managing to hold on to the ball as they launched a breathtaking counter-attack from 80 metres out that led to fullback Smith going in under the posts.
Savea then went over in the corner to cap off a 12-point scoring burst inside five minutes before Nonu grabbed the third try when Farrell was in the sinbin.
Brown scored inside the final 10 minutes to keep England within sight, but by the time Ashton scored his try in the final minute the game was over and only made the scoreline look closer than the match was.
(Reporting by Greg Stutchbury in Wellington; Editing by Amlan Chakraborty)