Madhya Pradesh, who needed to chase a mammoth 571-run target in little more than four sessions, ended their second innings at 361 for five with the game ending in a draw and Mumbai entering the final on the basis of first innings lead.
They meet Saurashtra in the final to played in Pune from February 24.
Madhya Pradesh, starting the day at 99/2, went on to frustrate the Mumbai bowlers for 109 overs, putting a much improved effort than the first innings where they managed 227 to Mumbai's 371.
He shared a 159-run stand with Harpreet (105), who brought up his second century of the season and ended the tournament as his team's leading run-getter with 750 runs in 15 innings.
Also Read
However, it was not enough to stop 40-time champions Mumbai, entering another final with contributions from Suryakumar Yadav and Aditya Tare, who hit tons on day four to take the team to 426 in their second innings.
Shreyas Iyer scored a 90 and 58 in the game with another notable performance coming from pacer Balwinder Sandhu, who took five wickets in the first innings.
Madhya Pradesh 227 and 361/5 in 109 overs (Naman Ojha 113, Harpreet Singh 105).