He was dismissed for 18 and 24 as New Zealand clung on for a dramatic draw, and coach Gary Stead said Williamson was in pain throughout the match.
"It's been a really tough time for Kane, having to deal with such a persistent injury," Stead said. "While we've been able to manage the injury through the year and the T20 World Cup, the shift to test cricket and the increased batting loading has aggravated his elbow.
"He was in considerable discomfort throughout the [first] test, and since then it hasn't got better at all.
"We had to make the really tough call to rule him out and it looks like it could be for a sustained period. We'll have to go back and rest him initially and then strengthen him again, and then look to reload his batting."
Any prolonged rehabilitation period will leave in doubt Williamson's involvement in international cricket this summer.
The Black Caps are next in action on January 1, when the first of two tests against Bangladesh begins at Bay Oval. They will then head across the Tasman to play three ODIs and a T20 against Australia before South Africa visit for a two-test series starting February 17.
It would surely be wise for Williamson to skip the Bangladesh series. Devon Conway will likely be available to return from the broken hand that curtailed his T20 World Cup campaign, while Will Young can slide to No 3 after impressing while opening in the first test against India.
But keeping Williamson on the sidelines beyond that, if necessary, may prove challenging.
"Kane's obviously devastated," said Stead. "We all know how much he loves playing and leading this team, particularly in test cricket, so it's a very difficult decision to sit out.
"But it's been a challenging year for Kane trying to manage his elbow and it's important we now formulate a good plan with him to ensure the injury does not continue to plague him."
India are also without three veterans for the test - Ishant Sharma was ruled with a discolated finger which he suffered on the first ball of day five of the first test, while Ravindra Jadeja has a swollen right forearm and Ajinkya Rahane sustained a left hamstring strain on the final day of the first test and has not recovered.
Sharma and Rahane's places were in doubt for the second test anyway, and were easily replaced by Mohammed Siraj and returning captain Kohli, but Jadeja is a significant loss, with Jayant Yadav to play his first test since 2017 in his place.