Southee finished with three for 52 while left armer Trent Boult's two for 25 off 10 overs was significant, as was batsman Martin Guptill's two wickets in his solitary over of offspin.
"It was a great effort by the bowling unit. Very satisfying," Boult said.
"We were probably a bit under par on that wicket in terms of our core but there is a lot of belief in our unit that we could defend it."
One key aspect was not allowing any of India's highly regarded batsmen to get settled into a dominant innings.
Key batsman Virat Kohli managed just nine, caught by wicketkeeper Luke Ronchi off left arm spinner Mitch Santner while the top score came from allrounder Kedar Jadhav, with 41 off 37 balls.
Captain MS Dhoni scored 39 but it took him 65 balls while seamer Hardik Pandya made 37 off 32 balls.
Williamson was delighted at the result.
"The best part was showing some improvement from the previous one-day game, which was extremely important for our unit," he said.
Williamson's 118 off 128 balls was the decisive innings of the match, his eighth ODI century, level with former captain Stephen Fleming and equal fourth among New Zealanders.
Confirming he would have bowled first if New Zealand won the toss, Williamson praised the efforts of his bowlers on what he called a slow, low surface.
"We certainly thought the pitch might have taken a little more turn, and we wanted to play our frontline seamers who have performed so well for us for a period of time. It was certainly a tough surface to increase the scoring (on).
"At halfway we knew what the surface was like and we could learn a bit from the way India bowled on it.
"It was a fantastic effort from our seam bowlers, led by Trent (Boult) to squeeze them on that surface, which was the only way to do it. They certainly weren't going to be blasted out."
Williamson praised India's limited-overs bowling ace Jasprit Bumrah, who sliced through New Zealand's lower order taking three for five in 14 balls to remove any hope of a 260-280 total.
"He's a very good bowler. The wicket wasn't particularly easy to get away and he was extremely consistent with his length and coming in wide on the crease.
"That was a tough challenge but we were able to get to 260 with smart cricket that would have been a good score on the surface. But 240 was good enough."
The third ODI is at Mohali on Sunday night.
The win is New Zealand's sixth against 22 losses in 29 ODIs against India, in India, and the first after seven successive defeats.
Overall New Zealand have won 42 and lost 47 of their 95 ODIs against India.
It was New Zealand's third ODI in Delhi, and first win on the ground.