India, leading by 97 runs on first innings, were restricted to 128 for six in their second innings when stumps were drawn on the second day, with Dravid unbeaten on 62 and Anil Kumble not out on two.
Dravid has again held firm for India, striking 11 boundaries from 130 balls in close to 3-1/2 hours of batting to follow up his knock of 81 in the first innings, and passing 9,000 Test runs in the process.
Jerome Taylor has again been the wrecker-in-chief of the Indian second innings with three wickets for 28 runs from 16 overs that followed his five for 50 in the first innings.
Corey Collymore lended support with two for 31 from 13 overs.
Harbhajan had snared five or 13 from just 4.3 overs, as India fought their way back into the Test and dismissed West Indies for 103, replying to the visitors' first innings total of 200.
It was West Indies' lowest total in a Test against India, and left them in a vulnerable position in the Test, but Taylor provided them with two early scalps.
He had Wasim Jaffer brilliantly caught at third slip for one when the batsman edged a drive and substitute fielder Runako Morton held the catch with his right-hand, and then gained an lbw verdict over Virender Sehwag, who scored four, as India limped to 41 for two at tea.
After the break, Venkatsai Laxman and Dravid settled things down for India with a stand of 43 for the third wicket.
Collymore made the breakthrough however, when Laxman drove loosely and was caught at second slip for 16, and had left-hander Yuvraj Singh caught in the same position for 13.
Pedro Collins then bowled Mohammed Kaif for six to leave India on 76 for five.
Mahendra Dhoni arrived and curbed his natural aggressive instincts to add 46 for the sixth wicket with Dravid before Taylor returned for a second spell just before the close and bowled him for 19 with a delivery that kept a bit low.
Earlier, Harbhajan collected four of the last five West Indies scalps that went down after the home team resumed after lunch on 80 for five.
Harbhajan removed Dwayne Bravo for zero, Ramnaresh Sarwan for seven, and Denesh Ramdin for 10 to close-to-the-wicket catches, then wrapped up the innings when Collins lofted a delivery to long-on and was caught for zero.
In between, Taylor was run out for six, after he and Collins completely muddled a single.
Before lunch, disciplined bowling and their opponents' typically careless batting had provided India with their window of opportunity.
Harbhajan completed a sensational morning for the Indians, when Daren Ganga was adjudged lbw in the final over before the interval for the top score in the West Indies innings of 40, playing back and across to a delivery that spun sharply from outside the off-stump.
Fast bowler Shantha Sreesanth supported with two wickets (including West Indies captain Brian Lara) for 34 runs from nine overs.
Sreesanth had inflicted the early blows, when left-handed opener Chris Gayle played down the wrong line to the fourth delivery of the day and was comprehensively beaten and bowled for a fourth-ball duck.
Lara came to the wicket and survived an lbw appeal to Sreesanth off the second ball he faced, before the West Indies captain got off the mark with a crunching pull through mid wicket for four off the same bowler.
Lara hit five more boundaries on his way to 26 before he was caught at third slip fending away an absolute rip snorter from Sreesanth to leave West Indies 42 for two.
Kumble provided more joy for the Indians when Marlon Samuels was slightly deceived in flight playing forward and drew his back-foot out of the crease and was stumped for two.
Shivnarine Chanderpaul came out and never offered stability, but was caught behind for 10 driving loosely at a delivery outside the off-stump from Munaf Patel, before Harbhajan took control.
The four-Test series is still level at 0-0, with the first two Tests at the Antigua Recreation Ground and the Beausejour Cricket Ground also ending in draws.
India are seeking their first win at a ground in the Caribbean outside of Port of Spain, and this would give them a series victory in the Caribbean for the first time in 35 years.