New Zealand's third 300-plus total, this time of 364/4 at the Nelson Oval, was set up by Taylor's 137 and Nicholls' 124, and their fourth-wicket partnership worth 154. Thisara Perera threatened to make a match of it again, but Ferguson's 4/40 and Sodhi's 3/40 sealed the 115-run win on Tuesday, 8 January.
It was Taylor's 20th hundred, the most by any New Zealand batsman, and, impressively, his sixth 50-plus score in a row. With that, he equalled the New Zealand record with Kane Williamson and Andrew Jones, and joined the likes of Gordon Greenidge, Mark Waugh and Yousuf Youhana to have six scores of fifty or more in consecutive ODIs. Javed Miandad, with nine, is the only one to have more.
Taylor's innings stood out for the sheer ease with which he played, dominating on the leg side and smashing it over the boundary down the ground. He exhibited a range of shots – a paddle sweep with the bat face facing the other way highlighting just how good a run of form he is in.
For Nicholls, meanwhile, it was a maiden century, in his 33rd match. The left-hander showed off his power in a knock that took just 80 balls, and included three sixes and 12 fours.
Thisara Perera led the rescue for Sri Lanka again Thisara Perera led the rescue for Sri Lanka again
Taylor had come in at a tricky time for New Zealand. Sri Lanka, who made three changes, bringing in Dasun Shanaka, Dhananjaya de Silva and Dushmantha Chameera, chose to bowl first and Lasith Malinga struck twice in as many overs with the new ball, reducing the home side to 31/2.
Colin Munro had begun with four boundaries in his short 14-ball 21, and despite the two early wickets, Williamson and Taylor kept up the positive batting. Before the visitors knew it, the duo's 25th 50-run partnership was up, and they brought up their half-centuries soon after each other.
Williamson's came in 55 balls, while Taylor took 60. Almost against the run of play, Williamson was caught by de Silva at mid-wicket, off the left-arm wrist spin of Lakshan Sandakan.
Nicholls took his time to get going, but quickly caught up to ensure the scoring rate didn't drop. He picked off the runs with Taylor and went along at quicker than a run a ball.
Once he brought up his hundred and survived a review, Taylor took on Malinga and sent his attempted yorkers for a couple of sixes. He finally fell to the same bowler in the 47th over, a slower delivery finding deep square leg. His 131-ball effort included 10 fours and four sixes.
But with Nicholls well set and Jimmy Neesham swinging his bat, the last four overs brought New Zealand 64 runs. The last 10 had brought 130.
Sri Lanka had backed themselves to chase, and openers Niroshan Dickwella and de Silva showed why. Once de Silva fell in the ninth over to end an opening stand of 66, Kusal Perera kept the asking rate in control.
But two wickets in two balls swung momentum New Zealand's way. Dickwella gave away a good start, falling just short of a fifty when a thick edge off Neesham found Ferguson at third man. Kusal Mendis didn't even face a ball before he was run out, Williamson's throw from short cover and Tim Seifert's quick hands seeing to it.
It became three wickets for 10 runs when Sodhi trapped a sweeping Dasun Shanaka in front. And when the third umpire found a faint nick and Kusal had to walk back short for 43 off 49, it was a perilous 143/5.
Thisara, the star of the show in the previous match, continued his good touch. He had reached 80 in 63 balls and added 101 for the sixth wicket when a brilliant piece of fielding ended his resistance. Martin Guptill took a left-hand catch at full stretch to give Ferguson his second wicket.
The extra pace provided by Ferguson came in handy for New Zealand, and he and Sodhi quickly cleaned up up the tail. The last five wickets fell for just five runs as Sri Lanka were bundled out for 249 in 41.4 overs.