Roston Chase led a middle-order fightback with an unbeaten 98 as Windies held up India's progress on day one of the second and final Test in Hyderabad.
Windies, thumped by an innings and 272 runs in the series opener in Rajkot last week, closed on 295-7, with Chase's 174-ball knock lifting the tourists from 113-5.
The 26-year-old put on 63 with Shane Dowrich (30) for the sixth wicket and then 104 for the seventh with fit-again skipper Jason Holder (52), who was back in the XI after missing the first Test with an ankle injury.
India's debuting seamer Shardul Thakur lasted just 10 deliveries before he hobbled off with a groin strain but the hosts bossed the early proceedings, with Kuldeep Yadav (3-74) striking three times.
Ravichandran Ashwin made the initial breakthrough when Kieran Powell (22) slashed him to Ravindra Jadeja at cover with the score on 32, before left-arm spinner Kuldeep took charge.
Kuldeep, who picked up a maiden Test five-for in Rajkot, pinned Kraigg Brathwaite (14) and Shimron Hetmyer (12) lbw and then had Sunil Ambris (18) caught by Jadeja, while namesake Umesh Yadav (3-83) trapped Shai Hope (36) leg before after beating the Barbadian for pace.
Chase, who hit a Test-best 137 not out against India in Jamaica in 2016, stopped the rot, firstly with Dowrich and then, when the wicketkeeper-batsman was out lbw on review to Umesh, with Holder.
Holder gloved an Umesh bouncer behind late in the day, leaving Chase and Devendra Bishoo (2no) to steer Windies through to stumps.