In reply to Haryana's massive first innings total, Gujarat were 27 for one at stumps with opener Samit Gohel unbeaten on 13 and Rush Kalaria on seven.
Earlier in the day, resuming on 266 for two, Haryana rode on Sunny's epic knock -- a 381-ball 201 -- apart from centuries by Sachin Rana (102) and Nitin Saini (106) to put Mumbai in the driver's seat.
It took Gujarat 29 overs before they could taste success, with Rana departing after hitting his sixth first-class ton. His innings came off 200 balls with 14 boundaries.
Sunny followed 11 overs later, soon after getting to 201 that came from 318 deliveries with 26 fours and two sixes, with Kalaria picking up his wicket. Kalaria then dismissed Yatharth Tomar in the next ball to be on a hat-trick.
More From This Section
After declaration, Haryana bowler Harshal Patel removed opener Priyank Panchal for a duck in the second over.
Brief scores:
Haryana: 573 for 6 decl (Sunny Singh 201, Nitin Saini not out 106, Sachin Rana 102;
Gujarat: 27 for one (Samit Gohel batting 13).