The hosts skittled Punjab, who resumed at overnight 42 for 2 in reply to Mumbai's modest first innings tally of 251, for a meagre 126 in under 62 overs and just over four hours.
But Punjab who conceded a lead of 125, which may prove decisive in the low scoring tie, then hit back strongly to reduce Mumbai to 112 for eight by close.
Mumbai, in fact, were tottering at 82 for eight with just over ten overs remaining for stumps. But left-hander Nishit Shetty, unbeaten on 33 after a vigil of 90 minutes, and tailender Nilesh Kulkarni (7 in 48 minutes) held fort till stumps.
The ninth wicket duo have produced the best stand of the Mumbai second innings, an unfinished 30 runs, and at the end of an absorbing day's proceedings the hosts were 237 in front with two wickets in hand.
With 16 wickets falling today, including eight in the visitors' first innings, and 12 yesterday, tomorrow might well bring an end to the match in which most wickets have fallen to poor shots rather than due to vagaries of the pitch.
Eight out of ten Punjab wickets fell to the Mumbai spin trio of captain Sairaj Bahutule, Kulkarni and Ramesh Powar.
In the home team's second essay, medium pacer Gagandeep Singh once again did the bulk of damage by taking 4 wickets to add to his identical tally in the first innings.
Off-spinner Rajesh Sharma bagged three victims in nine balls to share a good chunk of the spoils.
In the morning, Punjab were put on the back foot soon after play started when Ravneet Ricky was run out following a misunderstanding with his skipper Dinesh Mongia after the addition of 12 runs to the total.
Mongia also followed suit by playing an expansive drive to a well pitched up ball from Ajit Agarkar and got his stumps scattered to make Punjab 66 for four. He made 23.
Pankaj Dharmani, who top scored with 32, and Reetinder Singh Sodhi, who came out to bat at number six after having suffered a shoulder injury last evening while fielding, took the score to 106 before another collapse ensued and the last six wickets fell for 59 runs in 29 overs.
Mumbai skipper Sairaj Bahutule triggered the slump by luring Sodhi out of the crease and having him stumped for 13.
Off-spinner Ramesh Powar later sent back Amit Uniyal while Bahutule trapped Dharmani leg before with a googly to which the batsman offered no stroke. Both these batsmen were dismissed within three balls and without an addition to the score.
The tail failed to wag and Punjab's innings came to a halt half an hour after lunch.
But Mumbai fared no better in their second innings. Openers Vinayak Mane and Wasim Jaffer paid the price for being ultra-defensive and were dismissed by Gagandeep.
Vineet Indulkar and Amol Muzumdar, whose first innings 75 is the highest score to date, also fell cheaply to left-arm seamer Uniyal and Gagandeep respectively.
Sharma, touted as the second Harbhajan Singh by Mongia before the tie but given just one over in the first essay, then sent back Bahutule, Agarkar and Powar in a space of nine balls to reduce Mumbai from 60 for four to 69 for sevev.