India cruised to victory over West Indies inside three days in the second Test, winning by 10 wickets as Umesh Yadav starred.

The hosts' control of the match was threatened early on Sunday as their tail-end collapse saw them post 367 all out under pressure from Jason Holder (5-56), but the Windies' failure to capitalise with the bat proved costly.

A dismal showing left the visiting side dismissed for 127, with Umesh taking 10-wicket haul in the match as India were set just 72 to win.

And there was time remaining in the evening session for Prithvi Shaw (33) and Lokesh Rahul (33) to seal victory.

India had ended day two in fine fashion, with a partnership between Ajinkya Rahane and Rishabh Pant unbroken on 146, but the pendulum seemed to swing back in the tourists' favour early the next morning.

The key wicket of Rahane (80) came just six runs into the opening session as he lobbed to Shai Hope and the in-form Holder trapped Ravindra Jadeja for a duck two balls later.

With a collapse now well underway, Pant once again fell short of his century on 92 as Shimron Hetmyer caught instinctively off Shannon Gabriel, before Holder took out Kuldeep Yadav (6) to complete a brilliant five-for.

Umesh was quickly gone, too, and Holder took out the middle stump of the elusive Ravichandran Ashwin (35) as India ended their first innings with a lead of just 56 runs.

But the Windies similarly struggled with the bat. Umesh failed to clinch a hat-trick with the first ball after lunch, but the second delivery saw Kraigg Brathwaite stab to Pant and India were up and running again.

Kieran Powell went to Ashwin and Hope's (28) attempts to steady the ship in a 39-run partnership with Hetmyer (17) were ended as the two men were removed in quick succession.

Then it was Umesh's turn again and he accounted for Roston Chase (6) and Shane Dowrich (0) with a pair of inswingers as the West Indies staggered to 76-6 at tea.

Twice more the Windies looked to have recovered some composure before losing pairs in quick succession, with Holder gone for 19 and Sunil Ambris for 38.

Jomel Warrican went for seven and Gabriel (1) departed to Umesh to conclude the innings and bring up the bowler's 10th wicket.

That left a simple task for the India openers and Shaw and Rahul delivered, the former wrapping up the match as the teenager drove a four through the covers.