The lean Indian paceman struck in the seventh over of the day, getting the scalp of the rival captain Johnson (2) but Rajendra Chandrika (35) and Shai Hope (27) denied India further success with their cautious batting effort.
India skipper Virat Kohli handed the ball to leg-spinner Amit Mishra after letting his four pacemen test the home batsmen.
Opting to bat after winning the toss, India were provided a solid start by Dhawan (51) and Rahul (50), with the two putting on 93 runs for the first wicket before the left-handed Delhi dazzler was retired out.
At the end of a slow first day during which 93 overs were bowled at the Warner Park wicket, Sharma remained not out on 54 with the help of eight boundaries and a six.
Also Read
Kohli (14) and Ajinkya Rahane (5) failed to get what would have been some valuable batting practice before the start of the four-match Test series. The Indians, though, is slated to play another three-day warm-up game before the Test series gets going from July 21 at Antigua.
Like Dhawan, who struck seven boundaries during his 90-ball knock, Rahul was also called back after the batsman found the fence five times and cleared it once.
(REOPENS FGN46)
While the visitors retired out the openers, they looked in some sort of discomfort at 159 for four when Rahane departed. At 166 for five in the 60th over, Cheteshwar Pujara (34) was also asked to come back to the dressing room by the team management.
Sharma then took charge and guided the lower middle-order in the company of Saha and Mishra.
For the West Indies, left-arm spinner Jomel Warrican was the most successful bower, returning figures of 2/61 in 26 overs.
Saha was the last Indian wicket to fall on day 1, when the wicketkeeper-batsman was dismissed by Damion Jacobs.
Earlier, Dhawan looked compact as his 50 came off 88 balls with seven boundaries while Rahul looked equally comfortable during his half-century that took him 99 balls with five fours and six.
India started cautiously in the beginning even though Rahul hit a lovely square cut while Dhawan also played some nice looking strokes on the off-side.
On a slow Warner Park wicket, the right-arm pacers Marquino Mindley and Jason Dawes couldn't create much of an impact although the Indians did not take any undue risks.
The moment spinners were introduced, the Indian batsmen showed more intent in scoring runs and the footwork looked assured. Rahul swept a leg-break from Jacobs from outside the off-stump.
Like the openers, Pujara and Kohli too took their time to settle down as they knocked the ball around for singles and twos, with the occasional boundaries. The partnership, however, came to an end in the 48th over when Kohli was out caught-behind off Warrican.
India were in all sorts of trouble then, but Rahul added 58 runs for the third wicket with Rahane who came in at No 4.
The Karnataka opener continued his good run of form, and scored a chanceless first Test half-century. He was comfortable against the short ball attack from Gabriel-Joseph and then negotiated Miguel Cummins (0-36) and Holder easily as well.
But off the very next ball, in the 20th over, fell to the West Indies' trap, as he hit straight to Kraigg Brathwaite (0-20) at short fine leg.
Rahane had looked uncomfortable against Holder again, but tightened up his game to survive until lunch. Rohit had come out to bat thereafter, and faced a couple testing overs from Gabriel. But he too survived the little phase before the break, even as the visitors were struggling at 87/3.