India batted without strain while trying to measure up to a huge West Indies first innings total in the third Test which looked headed for a draw on Saturday.
Despite losing openers Virender Sehwag (31) and Wasim Jaffer (60) without either of them converting their good starts, India showed little signs of buckling under the pressure of the hosts' mammoth 581.
At stumps on the third day, the Indians were 150 for two with VVS Laxman and captain Rahul Dravid at the crease.
The visitors still trail by 431 runs and must make 382 runs to avoid a follow-on, but with the Warner Park track still offering reliable bounce and pace, it is unlikely that they would be bowled twice in the remaining two days.
Laxman batted slowly but solidly for his 28 runs from 97 balls while Dravid was sound as ever in his brief stay of 20 runs.
Both Sehwag and Jaffer were caught in the slips, by Brian Lara of different bowlers, but their 61-run opening stand from a mere 11 overs put India in the right frame of mind.
The West Indies could have run away to an even bigger total but for a lower order collapse triggered by Harbhajan Singh who weathered a savage assault by the top order batsmen to return with five for 147 from a marathon 44 overs, including four from his final three overs.
The last five West Indian wickets fell for 19 runs.
Overnight batsmen Shivnarine Chanderpaul (97) and Marlon Samuels (87) both looked good enough for their individual hundreds before a sudden twist in events thwarted their ambitions.
Samuels hit part-time spinner Virender Sehwag in the deep and Chanderpaul could do no more than watch the wickets fall in a clutter from the opposite end.
Still, the two raised 156 runs for the sixth wicket and negotiated the entire morning session without being separated.
The West Indies added 130 runs from the morning session but were guilty of slowing up considerably in the hour leading up to lunch break, adding just 22 runs from 14 overs.
Harbhajan experienced two extremes in the 40 minutes after lunch when he was smashed around the park initially but then came back to finish with a five-wicket haul.
The 'Turbanator' was thrashed for three sixes in his first over, twice by Samuels, before he gathered his wits to run through the lower half.
Samuels, after his blitzkrieg, tried to sweep Sehwag out of the ground but succeeded only in lifting the ball to Harbhajan in the deep.
He made his 87 runs from 159 balls and hit eight fours and three sixes.
Then began the Harbhajan act.
He claimed Denesh Ramdin and Jerome Taylor in successive overs, his 42nd and 43rd over of the innings, before claiming the remaining two wickets in three balls in his 44th over.
Chanderpaul remained unbeaten on 97 from a 216-ball vigil during which he hit 16 fours and two sixes.
Chanderpaul and Samuels made runs steadily without taking recourse to extravagant shots and made the most of a spread out field.
Still they had their moments of total aggression as when they hit Anil Kumble for a six each down the ground.
Chanderpaul and Samuels got to their invididual half centuries within an over of each other.
The left-hander Chanderpaul flicked Munaf Patel to fine leg for a single to go past his half century in 203 minutes during when he faced 123 balls.
Samuels raised his own soon, flicking Kumble to fine leg for a single, having batted for 129 minutes and hit five fours and a six from 97 balls.
The 100-run stand for the sixth wicket was brought up when Chanderpaul pulled Kumble to the square leg boundary.
Strangely, the two batsmen closed shutters in the final three quarters of an hour.
Kumble, clearly tiring, bowled without spite and by the end of the session was coming round the wicket in a bid to stop the scoring.
Sehwag seemed to continue from where he left at St. Lucia.
The Delhi batsman cracked four boundaries in his 45-ball 31 before edging Collymore to Lara in the slip.
Jaffer and Laxman added 63 runs for the second wicket before the Mumbai batsman fell to Dwayne Bravo.