At stumps on the third day, Maharashtra were 131 for no loss in 29 overs after being bowled out for 262 in the first innings to concede a 167-run lead to the hosts.
Swapnil Gugale and Harshad Khadiwale were batting on 77 and 52, respectively, at the close of play on the penultimate day. Gugale hit eight fours and two sixes in his 90-ball fluent knock, while Khadiwale found the fence seven times facing 84 deliveries.
Maharashtra trailed the hosts by 36 runs with 10 wickets remaining.
Earlier, Rahul Tripathi (65) top-scored for Gujarat while Khadiwale (56) and Ankit Bawne (54) also made useful contributions in Maharashtra's first essay.
The experienced Ramesh Powar was the best bowler for Gujarat, returning figures of 4/34 to prevent the visitors from taking the crucial first-innings lead.