Raina top scored with 82, and Harbhajan supported with 70, as the Indians, electing to bat, were dismissed for 246 in their first innings about 45 minutes after tea on an action-packed first day at Sabina Park.
Ishant Sharma then set West Indies back with the scalp of Lendl Simmons for three, as the home team reached 34 for one at stumps.
Sharma had Simmons caught at forward short leg off the inside edge, as West Indies faced a difficult 90 minutes before the close.
Raina pummelled 15 fours from 115 balls in brisk knock, and Harbhajan hit 10 fours and one six from 74 balls in just over two hours.
They propped up the innings with a seventh wicket stand of 146, after the visitors ran into trouble on 85 for six in the first 15 minutes after lunch.
The world No 1 Test side however, then lost their last four wickets cheaply.
Fidel Edwards, making a return to the international game after a two-year injury lay-off, was the pick of the West Indies bowlers, finishing with four for 56 from 16 overs, justifying his selection ahead of Kemar Roach.
Ravi Rampaul ended with three for 59 from 18.2 overs, and leg-spinner Devendra Bishoo captured three for 75 from 11 overs.
Before lunch, India failed to justify their decision to bat, limping to 69 for four.
The Indians were rocked early on, when Murali Vijay was caught at backward point for eight slicing a drive off Rampaul, who also bowled debutant left-hander Abhinav Mukund off the inside edge for 11.
VVS Laxman joined Rahul Dravid, and stemmed the fall of wickets for close to an hour, but he was caught at slip for 12 off the first delivery from Bishoo, edging a loose drive, and leaving the visitors on 64 for three.
The rot continued when Virat Kohli, another Test newcomer, was caught behind for four, playing defensively forward to Edwards in the final over before the interval.
After the break, India suffered two quick setbacks — both to Bishoo — in successive overs, and seemed to put West Indies in charge.
Dravid made 40 before he edged a loose drive to Sammy at slip off the spinner, who also had the Indian captain Mahendra Singh Dhoni, who like Dravid and Laxmmman were rested for the one-day series, caught at second slip for a two-ball duck.
Enter Harbhajan, and he quickly got into his stride, lofting Bishoo straight for his first boundary, and taking apart the West Indies bowling.
He loosened the home team's grip on the match, and seemed to inspire Raina in a bold counter-attack for the visitors.
They took them to 219 for six at tea, after Harbhajan reached his 50 from 45 balls, patting a Bishoo delivery into the covers for a single, and Raina got to his half-century from 76 deliveries, straight-driving West Indies captain Darren Sammy for boundaries from successive deliveries.
After tea, the runs looked set to continue to flow for Harbhajan and Raina, but Edwards gave firm proof that he could still be a force to reckon with at Test level, when he blew away India's lower-order.
Harbhajan tried hook at a short, rising delivery from the fast bowler, and Bishoo ran from deep backward square leg to deep midwicket to hold a spectacular flying catch.
Praveen Kumar, another Test debutant, was lbw to Edwards for four, playing back and across, and Amit Mishra was caught at slip for six, gloving a snorter.
The innings came to a close, when Raina pulled a short delivery from Rampaul to deep midwicket, and Bishoo held another fine catch.
The match is the first in a three-Test series, with the second match, starting on June 28 at Kensington Oval in Barbados, and the final match, beginning on July 6 at Windsor Park in Dominica.