Stuttgart held after late penalty drama
Former Germany keeper Jens Lehmann was sent off three minutes from time after blocking the ball and pushing Mainz striker Aristide Bance for no apparent reason, the referee awarding a penalty which was converted by Eugen Polanski.
Stuttgart's Pavel Pogrebnyak had used his knee to direct an Arthur Boka cross into the net from five metres on 11 minutes to give Stuttgart the lead.
Stuttgart, who have qualified for the Champions League knockout stage, are down in 15th place on 13 points.
Bayer Leverkusen top the standings on 32 points, with Schalke 04 in second place, a point behind.
On a snowy and bitterly cold afternoon, Stuttgart looked to be cruising to their first league win since late September and only their third this season when Pogrebnyak grabbed the early lead.
New coach Christian Gross, who took over last week and saw his team qualify in the Champions League in his first match in charge, looked content as Stuttgart dominated and missed a chance to double their lead through Ciprian Marica.
Mainz battled on and came close in the second half when Florian Heller whipped in a low cross from the right but none of the strikers could connect.
With three minutes left the match was turned on its head, with the notoriously temperamental Lehmann, fined in midweek by his club for comments in the press regarding Stuttgart fans, pushing the Burkina Faso striker after blocking the ball.
"He steps on (Bance's) foot," said Stuttgart sporting director Horst Heldt. "He played great throughout the match and it is extremely bitter that this happened. We now have to live with it."
Polanski sent substitute keeper Sven Ulreich the wrong way to grab a point for Mainz, who moved up to eighth place on 24 points.
Dortmund, helped by two early goals from Argentine Lucas Barrios, won 3-1 at champions VfL Wolfsburg to move up to sixth place on 27 points. Wolfsburg are ninth on 23.