India, out for 189, hit back to bowl out a West Indian side missing their inspirational captain Brian Lara for 169 in the day-night international at the Barabati stadium here.
Ramesh Powar picked up 3-42, Sachin Tendulkar took 2-25 in eight overs and Harbhajan Singh finished with one for 29 in 10 overs to help India record a narrow win by 20 runs.
Left-hander Shivnarine Chanderpaul top-scored for the tourists with 67 before he was last man out, finding little support from the other batsmen in the low-scoring game.
Scorecard of 2nd ODI
The West Indies badly missed Lara, who skipped the game after a chronic left knee injury flared up again, leaving opener Chris Gayle to lead the tourists' bid to draw level in the series.
Lara is expected to be fit for the third match in Chennai on Saturday and the fourth game in Vadodara on January 31, the last two matches for the West Indies before they host the World Cup in March-April.
The West Indies enjoyed a great start when seamer Daren Powell picked up a career-best 4-27 to restrict India to 189 on a slow, lifeless wicket.
The 28-year-old Jamaican seamer ripped through the top order with the wickets of Sourav Ganguly, Tendulkar and captain Rahul Dravid in his first four overs.
India, reduced to 69-6 at one stage, were revived by a battling 63 from 21-year-old Dinesh Karthick and his 62-run stand for the eighth wicket with Ajit Agarkar.
Agarkar was last man out for 40 after the final four wickets added a valuable 120 runs for the hosts.
Openers Gautam Gambhir and Ganguly, who put on 144 runs in Sunday's first match in Nagpur which India won by 14 runs, lasted together for just 15 deliveries.
Gambhir had made two when he was caught down the leg-side by wicket-keeper Denesh Ramdin off left-arm seamer Ian Bradshaw.
Ganguly, who hit 98 in Nagpur on his return to One-day cricket after 16 months, made 13 when he patted a catch to short midwicket in Powell's first over.
Tendulkar failed to get off the mark in his world record 376th One-day appearance, offering a tame catch to mid-on in Powell's next over.
Dravid had hit four boundaries in 22 when he was bowled by a slower ball from Powell to leave India 46-4.
Powell had taken just eight wickets in his previous 12 One-dayers, including a best of 3-33 against Pakistan in Multan in December.
The West Indies lost quick wickets just when it appeared the batsmen had settled in.
Chanderpaul, who hit a magnificent 149 in Nagpur in a losing cause, once again finished second-best without support from the other end.
Dwayne Bravo hit 31 in a fourth-wicket stand of 43 with Chanderpaul, while Dwayne Smith made 25.
The West Indies, who were 139-5 in the 38th over, lost their last five wickets for 30 runs as India turned on the screws in the crucial final overs.
Full scoreboard of the second One-day international between India and the West Indies at the Barabati stadium here on Wednesday: