Having won their opening match against Baroda on Wednesday, Mumbai, who were runners-up in the last edition of the tournament, were bundled out for 132 in 37.1 overs.
In reply, Gujarat easily chased down the target in only 24.2 overs, thereby earning a bonus point.
Mumbai got a negative point and now have three points from two matches.
The credit for Gujarat's victory at the Poona Club Ground could be attributed to left-arm spinner Akshar Patel who grabbed four for 24 while offie Jesal Karia ended with figures of three for 21.
Put into bat, Mumbai made a solid start, courtesy Wasim Jaffer (30) and Sushant Marathe (33), who put on 72 runs for the opening stand. Once Jaffer was bowled by seamer Mehul Patel, Mumbai lost wickets in a heap as they lost all 10 wickets with an addition of only 60 runs.
With one drop Shoaib Sheikh, opener Marathe and talented Suryakumar Yadav dismissed in quick succession, the Mumbai innings was in total disarray and never recovered from the setbacks.
Iqbal Abdulla played a cameo smashing 24 off 23 balls with three fours and a six but the situation needed someone to drop anchor and give the total a semblance of respectability.
The chase was never a difficult task and Gujarat's seasoned skipper Parthiv Patel in company of Priyank Panchal wallopped the Mumbai bowlers to put on 91 runs for the opening stand.
Patel made 49 off only 45 balls with seven fours before he tried a big shot off left-arm spinner Ankeet Chavan to be caught by Kshemal Waingankar.
Panchal made 46 and was happy to give bulk of the strike to his captain was then stumped by glovesman Aditya Tare off Abdulla but Gujarat had almost ensured a win with bonus points by then.
Mumbai 132 in 37.1 overs (Sushant Marathe 33, Wasim Jaffer 30, Akshar Patel 4/24, Jesal Karia 3/21)
Gujarat 135/2 in 24.2 overs (Parthiv Patel 49, Priyank Panchal 46). Points: Gujarat 5; Mumbai -1.