Jasprit Bumrah became only the third Indian to scalp a hat-trick in five-day cricket after Hanuma Vihari scored a maiden ton to take the visitors to a commanding position in the second Test against the West Indies.
Bumrah (6/16) on Saturday produced a lethal opening spell and rattled West Indies by picking up the first five wickets, three of which came in successive balls in the ninth over to leave West Indies tottering at 87 for seven at stumps.
Bumrah made inroads into West Indies line-up in the seventh over by inducing an edge from John Campbell, which Rishabh Pant accepted gleefully.
An over later, Bumrah was at his lethal best as he picked up the wickets of Darren Bravo, Shamarh Brooks and Roston Chase in three consecutive balls to register his name in the record books.
He first dismissed Bravo caught by KL Rahul at the second slip and then had both Brooks and Chase LBW in the next two balls.
In fact, the credit for Bumrah's hat-trick should go to skipper Virat Kohli, who insisted to go for the review after Chase was given not out by onfield umpire Paul Reiffel.
Bumrah, thus, became only the third Indian after Harbhajan Singh and Irfan Pathan to register a hat-trick in Test cricket.
Shimron Hetmyer (34) was then cleaned up by Mohammad Shami before Bumrah came back to dismiss West Indies skipper Jason Holder.
West Indies still trail India by 329 runs with three full days play remaining.
Earlier, Vihari scored a career-best 111 off 225 balls with the help of 16 boundaries to held India's innings together.
Together with Ishant (57 off 80 balls), who scored his maiden fifty, Vihari shared 112 runs off 28.3 overs for the eighth wicket to take India forward.
While Vihari looked rock solid, Ishant gave him the perfect support from the other end as the duo frustrated the West Indian bowlers for a long time. The hosts needed 140.1 overs to bowl out the visitors.
Coming on to bat at the overnight score of 42, Vihari stuck to his task and held one end together to keep India afloat after being sent into bat.
Resuming at the overnight score of 264 for five, India lost Rishabh Pant (27) on the opening delivery of the day.
Pant was cleaned up by Holder (5/77) with an inswinger as the batsman leaned for a drive.
Thereafter, overnight batsman Vihari and new man in Ravindra Jadeja played according to the situation to nullify any threat from the West Indies bowlers.
Vihari, who resumed his knock at 42, notched up his fifty in 96 balls with the help of an inside-edge boundary off Holder in the 97th over of the innings.
Jadeja did all the hardwork but gave away his wicket when it mattered. He played a patient knock of 16 off 69 balls but just when it was time to carry on, he top-edged a Rahkeem Cornwall (3/105) delivery to Bravo at mid-on while going for a big slog.
Vihari and Jadeja shared 38 runs off exactly 10 overs for the seventh wicket.
An over later, Vihari got a big reprieve when he was dropped by Campbell off Cornwall at first slip.
To add to West Indies' wounds, Vihari picked up two boundaries in the remaining balls of Cornwall's over.
Vihari and Ishant continued to frustrate the West Indian bowlers after lunch with their resolute batting.
Vihari, who scored 93 in Antigua, reached his maiden Test ton in 200 balls with the help of a single off Roach in the 133rd over.
Ishant was not to be left behind as he followed his senior batsman by reaching his maiden Test half-century off 69 balls with a single off Cornwall in the 136th over.
But just after reaching the milestone, Ishant started to lose patience and played some loose shots, which eventually led to his downfall caught by Hetmyer off Brathwaite.
Mohammad Shami didn't trouble the scorers as he nicked a Cornwall delivery to Jahmar Hamilton behind the stumps.
With partners running out, Vihari finnaly ran out of patience and played a lofted shot, only to be holed out by Roach to hand Holder his fifth wicket of the innings.