Medium-pace bowler Sandeep Sharma took 5-18 to help restrict Mumbai to 179-9
Zaheer, the number nine batsman, emerged as his team's top-scorer as India took their first innings to 360 in reply to Australia's 430, narrowing down the tourists' lead to 70 runs.
India, who started the day at 313-8, batted till 30 minutes before lunch on the fourth day before last man Ishant Sharma was bowled by part-time spinner Michael Clarke for six.
Australia went to lunch at nine for no loss in their second knock for an overall lead of 79 runs on a rapidly deteriorating wicket.
Matthew Hayden was unbeaten on three and opening partner Simon Katich was on five.
Zaheer had on Saturday put on 80 runs for the eighth wicket with fellow tailender Harbhajan Singh, who launched the home team's late charge with a stroke-filled 54.
India's last five wickets added a valuable 205 runs after the top five had been dismissed with just 155 on the board.
Zaheer batted for three hours to compile his second Test fifty with the help of seven boundaries.
India's total was helped along by a whopping 52 extras conceded by the Australians, including 23 byes by wicket-keeper Brad Haddin on the unpredictable pitch.
They were the highest number of extras given away by an Australian team against India in an innings, surpassing the 45 Allan Border's tourists conceded in Mumbai during the 1986 series.
Indian captain Anil Kumble, who came in on Saturday evening at the fall of Harbhajan's wicket, put on 31 for the ninth wicket with Zaheer before he was leg-before to Shane Watson for five.
Watson finished with 3-45, while left-arm fast bowler Mitchell Johnson failed to add to Saturday's tally of four wickets.
Medium-pace bowler Sandeep Sharma took 5-18 to help restrict Mumbai to 179-9
The former India captain was furious with the third umpire's decision and argued with the on-field umpire before walking off the field
Travus Head, the Australian left-hander, has amassed 324 runs with a mind-boggling strike rate of 216
New Zealand are missing several top players due to the Indian Premier League
Gujarat Titans won a low-scoring game by three wickets
The UAE booked their place in the 2025 Asia Cup which will feature Test-playing teams India, Pakistan, Sri Lanka, Bangladesh and Afghanistan
The drama did not help Bengaluru in their chase as the bottom-placed side in the 10-team table slumped to their seventh loss in eight matches
Muhammad Waseem led from the front with a sparkling hundred