Abhishek Singh secured a Super 10 (11 raid points) for U Mumba, who were also miserly in their defence, with Surinder Singh and Harendra Kumar picking up vital points.
The victory meant the Mumbai side jumped to the fourth place in the points table to consolidate their chances of making to the play-off stages.
The match was a closely-fought affair with two of the best defences in the league going head to head.
But Abhishek's raiding backed up by some incredible defence by Sandeep Narwal and Surinder Singh opened up a lead for U Mumba as they inflicted an all-out on Gujarat to move to a five points lead with eight minutes still left for half time.
Rohit Gulia found chinks in the U Mumbai armour after the all-out and his eight-point half helped the Gujarat team claw their way back with an all-out with under two minutes to play. The first half ended with both the sides locked at 16-16.
The second half continued to be the same with both defences trading blows.
Unfortunately for Gujarat, Sunil Kumar picked up an injury which disrupted the team's structure.
With Arjun Deshwal out for U Mumba with an injury, the raiding responsibilities for the Mumbai side were solely on the shoulders of Abhishek.
The raider produced a two-point raid in the 13th minute after which the Mumbai defence successfully tackled Gujarat's Sachin to give U Mumbai a three-point lead after a long time.
The raider picked his game up and helped U Mumba secure an all-out with less than three minutes left in the match to move to a six-point lead.
The defence held firm in the final minutes to clinch an important victory for the Mumbai side.