The West Indies' most dependable batsman Shivnarine Chanderpaul was batting on 23 as tea break was called immediately after Shane Shillingford was trapped in front of the wicket by Sachin Tendulkar at the Eden Gardens.
The visitors ran for covers as Tendulkar claimed a wicket in the last over to bring the crowd on its feet in his swansong match at this historic venue.
As the West Indies were slowly going forward with Marlon Samuels' 19th half-century, Shami (3/69) made his presence felt with wickets in successive overs.
Shami was also involved in Darren Bravo's run out as WI committed a harakiri in the middle, losing three wickets in as many overs to tilt the match in favour of India.
More From This Section
Midway into the second session, Shami was brought in as a change for Bhuvneshwar Kumar as Samuels was playing it easy in his happy hunting ground, where he had scored his maiden Test hundred in 2002.
But after he was brought in as a change, it was Shami all the way in the second session as he kept moving the ball, got some reverse with the speed gun touching 143kph on some occasions during a brilliant third spell of 7-0-30-2. It included the prized scalp of Samuels.
Samuels hit 11 fours and two sixes in his 98-ball 65 (11x4, 2x6), while Denesh Ramdin (4), too, was bowled in an identical manner to become Shami's third victim.
Even as he seemed to tire, Shami kept on bowling and troubled the Windies middle-order.