Ganga scored 135 - his third Test hundred - and Sarwan made 116 - his eighth Test hundred - in a double-hundred, second wicket stand that paved the way for West Indies to reach 420 for five in their first innings at the tea break before rain forced the remainder of the day to be aborted.
Munaf Patel was the most successful Indian bowler with three wickets for 120 runs from 27 overs.
Ganga and Sarwan, both strugglers in the previous two Tests in the series, added 203 for the second wicket, after West Indies continued from their bedtime total of 207 for one.
Ganga struck 15 boundaries from 294 balls in 6 1/2 hours for his highest Test score, and Sarwan hit one six from 174 balls in 4-1/2 hours.
Both were dismissed within half an hour either side of the lunch interval to allow India to regain some ground.
Sarwan, celebrating his 26th birthday, began an action-packed morning period with a lofted six over wide long-on off Virender Sehwag's uncomplicated off-spin.
The West Indies captain reached his 50, when he on-drove Anil Kumble through mid-on and a sloppy Sehwag failed to stop with his right boot, and the ball sped away to the boundary for the batsman's ninth four.
Ganga, whose place in the side had been questioned following a string of insignificant scores in the first two Tests, had continued to inch his way along and reached his milestone, when he cut a short, wide delivery from Patel for his 11th boundary.
Sarwan too, was eyeing his landmark, and on 75 went totally ballistic, and Patel was the target for his aggression, as he struck six fours in the over to equal teammate Chris Gayle's similar achievement off Matthew Hoggard against England two years ago at The Oval.
He drove the first ball of the beanpole fast bowler's fifth over of the day - and fourth with the second new ball - through cover for four, then pulled a short ball through square leg, and was fortunate that the airborne Yuvraj Singh could only get his fingertips to another big cover drive.
Next ball, Sarwan was again fortunate when he inside edged a full length delivery from Patel past the off-stump, but then chopped a short ball between second slip and gully to third man for four, and cut a short, wide, no-ball through square cover for four.
The last legitimate ball of the over, Sarwan again tried to steer to third man, but picked out the gully fielder instead. One away from his hundred, he arrived at the landmark, when he tucked Shantha Sreesanth into mid-wicket and jogged a single in the next over.
Ganga and Sarwan literally had the Indian bowlers at their mercy, when Patel made the breakthrough. Ganga was bowled when he essayed a back-footdrive and inside edged the ball on to his stumps.
Lara arrived and got off the mark with a sweet cover drive off Patel for four, but on nine, he almost gave Anil Kumble a return catch, before Patel had him adjudged lbw for 10 playing forward to a well-pitched delivery as West Indies reached 362 for three at lunch.
After the interval, India claimed two wickets, including Sarwan, to claw their way, but the dark clouds gradually gathered over the ground.
By then, Sreesanth had claimed Sarwan with a well-pitched in-swinging delivery, and Harbhajan Singh removed Dwayne Bravo caught behind for 21 edging a delivery as he tried to steer off the back-foot.
For the remainder of the period, Chanderpaul and Marlon Samuels kept the Indian bowlers at bay before the rain brought an early close.
The four-Test series is still level at 0-0, after the first two Tests at the Antigua Recreation Ground and the Beausejour Cricket Ground ended in tense draws.
The series concludes at Kingston's Sabina Park from June 30 to July 4. Warner Park is staging its first Test. It has become the ninth Test venue in the West Indies and the 94th in the World.
West Indies 1st innings:
To bat: D. Ramdin, P. Collins, J. Taylor, C. Collymore
Fall of wickets: 1-143, 2-346, 3-362, 4-371, 5-406
V. Sehwag, W. Jaffer, V. Laxman, R. Dravid, Y. Singh, M. Kaif, M. Dhoni, H. Singh, A. Kumble, S. Sreesanth, M. Patel
Toss: West Indies
Umpires: R. Koertzen, B. Jerling, Third Umpire: C. Mack
Reserve: L. Kelly
Match Referee: J. Crowe