The home side was set a formidable target of 336 and looked in a hopeless spot when openers Colin Munro and Martin Guptill were dismissed without scoring at the University Oval.
Kane Williamson's innings was cut short when he was given out caught behind for 45 when he appeared to miss the ball.
England seemed to have reached match point. But Taylor and Tom Latham (71) combined in a New Zealand record four-wicket stand against England of 187 to turn the game around.
Taylor, who missed the third game in Wellington with a quadriceps injury, was limping badly after he appeared to suffer a similar strain.
But he went on to finish the job, scoring his 19th ODI century, eclipsing his high score and setting a new high score at the venue with 181.
Colin de Grandhomme added a quickfire 23 before Henry Nicholls hit a six in the final over to give the Kiwis the win.
The series is now locked 2-2, with the deciding match at Hagley Oval in Christchurch on Saturday.
Earlier, England smashed 335 for nine, after Jonny Bairstow and Joe Root both scored centuries. The pair put on a record second-wicket stand between England and New Zealand of 190.
Bairstow clubbed some absolutely massive sixes. One measured in at 113m and almost cleared the grandstand.
He had a life on 74 when Mitchell Santner dropped him at cover. The 28-year-old went on to score 138 - his third ODI century.
Root compiled a classy 102 - his 11th century. While he does not have the power game of Bairstow, he certainly has all the skills. He even played a reverse scoop and that may be the first time that shot has been seen at the venue.
The Black Caps clawed back a lot of momentum following the departure of Bairstow, though. England lost six wickets for 21 runs.
No-one, it seemed, found batting quite as easy as Bairstow or Root.
Black Caps leg spinner Ish Sodhi showed his value with four for 58, picking up the wickets of heavy-hitters Jos Buttler and Ben Stokes.
"We were in a really commanding position until the 37th over and then had that collapse," England captain Eoin Morgan said after the match. "But we thought 330 was still a reasonably competitive score."
New Zealand won the toss and elected to field first in warm and sunny conditions.
New Zealand: Martin Guptill, Colin Munro, Kane Williamson (captain), Ross Taylor, Tom Latham, Henry Nicholls, Colin de Grandhomme, Mitchell Santner, Tim Southee, Ish Sodhi, Trent Boult.
England: Jason Roy, Jonny Bairstow, Joe Root, Eoin Morgan (captain), Ben Stokes, Jos Buttler, Moeen Ali, Chris Woakes, Mark Wood, Tom Curran, Adil Rashid.
- additional reporting by Reuters