Cheteshwar Pujara opened the innings to make a 60-ball 62 and stuck seven fours and a straight field six off left-arm spiner Nayak.
The India Test no. 3 played a lone hand to remain unbeaten till the penultimate over while Sheldon Jackson made 26 and skipper Jaydev Shah notched up 14.
Pujara was dismissed while trying to find a boundary and Sushant Marathe took a brilliant catch at deep mid- wicket off the bowling of Mumbai captain Zaheer Khan.
Left arm Zaheer got rid off Pruthvi Solanki in the next ball and would have got another wicket in the same over but for a dropped catch. Medium-pacer Prathamesh Dhake scalped three wickets, while Zaheer bagged two.
This was Saurashtra's second successive loss and Mumbai's second win in three games.
Brief scores: Mumbai 145 for 5 (Sarfaraz Khan 36, Aditya Tare 29, Sushant Marathe 25; Arpit Vasavada 4 for 19,
Jaydev Unadkat 1 for 37) beat Saurashtra 129 for 5 (Cheteshwar Pujara 62, Sheldon Jackson 22; P Dhake 3 for 25, Zaheer Khan 2 for 29.