Gujarat pacers then removed both the Goa openers on nought before the visiting team recovered to end the day at 46 for two.
Kalaria (118 not out off 185 balls; 14x4s, 1×6) and Axar Patel (80 off 113 balls; 11×4) built on the foundation laid by skipper Parthiv Patel, who scored his 27th first class hundred on the opening day of the match on Thursday to put the hosts in the driver’s seat.
Resuming at the overnight score of 330 for four, the home team suffered two jolts as Goa’s right-arm medium-pacer Felix Alemao (3/86) struck with the second new ball, dismissing both the overnight batsmen (Patel and Chirag Gandhi).
While he trapped Gandhi (49) in front of the wicket with a fuller delivery, Alemao also dismissed overnight centurion and rival skipper Parthiv (124).
Parthiv was caught at long-leg off a short ball as Gujarat slipped to 356 for six.
The two wickets gave Goa a chance to fight its way back into the game, but Axar and Kalaria had other plans.
The duo put on 130 runs for the seventh wicket to dash the visiting team’s hopes of restricting Gujarat.
The duo hit a flurry of boundaries as Gujarat went to lunch at 375 for six, laying the foundation for a massive score.
However, Axar missed a well-deserved hundred as he became Alemao’s third victim, but by then the damage had already been done.
Axar’s exit did not affect Kalaria, who notched up a fine hundred, his second at the Sardar Patel stadium here. Gujarat took tea at 576 for seven.
Soon after tea, the hosts declared their innings at 602 for eight after Chintan Gaja (56) was dismissed.
Brief Scores: Gujarat 602 for 8 declared (Parthiv Patel 124, Roosh Kalaria 118 not out; Felix Alemoa 3-86) vs Goa 46 for 2 in 16 overs. Goa trail by 556 runs.