Mainz poached a point at Bundesliga leaders Borussia Dortmund on Saturday night as Croatia striker Petar Sliskovic's controversial late goal sealed a 1-1 draw.
Despite the equaliser, Dortmund remain 10 points clear at the top of the table, but second-placed Leverkusen can trim their lead to seven points if they beat Schalke 04 - Dortmund's deadly rivals - at home on Sunday.
Dortmund took the lead when Germany defender Mats Hummels managed to scramble the ball over the line after just eight minutes.
Then Turkey midfielder Nuri Sahin had his weak penalty attempt saved after 19 minutes which proved costly in the dying stages.
With Dortmund defender Neven Subotic laid out on the pitch after taking a ball in the most delicate of areas between the legs, Mainz scored as Sliskovic fired home with time almost up.
Dortmund coach Jurgen Klopp was left fuming on the touchlines as the referee had waved on play with Subotic still laid out on the turf.
"I reacted emotionally because the goal was being celebrated while one of my players was still laid out on the ground," fumed Klopp.
"It shouldn't be like that in football.
"Having said that, the result is fair because Mainz were a strong opponent, things didn't go our way and we missed an early penalty."
Earlier, France star Franck Ribery netted a late winner to give Bayern Munich a 2-1 win at Freiburg as the Bavarian giants began their recovery after their Champions League exit.
Bayern are licking their wounds after they were dumped from the Champions League on Tuesday following a 3-2 defeat by Inter Milan in Munich.
The defeat means Bayern face a season without silverware, having been knocked out of the German Cup by Schalke and lagging in fourth place in the league, 13 points behind leaders Borussia Dortmund, who host Mainz on Saturday night.
Only a second-place finish in the Bundesliga will now guarantee Bayern a Champions League place for next season.
"It was important that we came here and got the win," said Ribery.
"Now we have to keep working hard and keep winning."
Germany striker Mario Gomez, the league's top scorer, put Bayern ahead with his 19th league goal, his sixth from a header, after just nine minutes.
Bayern goalkeeper Thomas Kraft saved a penalty from Papiss Demba Cisse after 14 minutes, but Cisse was not to be denied his 18th league goal of the season when the Senegal striker equalised on 17 minutes.
Bayern made sure they left Freiburg with the three points when Ribery was sent clear by Ukrainian Anatoliy Tymoshchuk and fired home on 88 minutes.
Hanover took a step closer to European football next season with a convincing 2-0 win over Hoffenheim that leaves them third in the league and on course to qualify for the Champions League.
Hamburg, whose coach Armin Veh was sacked last Sunday after their 6-0 defeat at Bayern last weekend, bounced back with a 6-2 win at home to Cologne.
Werder Bremen look set to avoid relegation after their 3-1 win at Nuremberg kept them four points away from the relegation zone.
Eintracht Frankfurt stayed above the bottom three after a 2-1 win over St Pauli, who remain in the drop zone.
On Friday, Borussia Moenchengladbach were sent closer to their third relegation from the Bundesliga when they were beaten 1-0 by Kaiserslautern thanks to an own-goal by goalkeeper Logan Bailly.
Second-from-bottom Wolfsburg host Stuttgart on Sunday with ex-Schalke coach Felix Magath, who guided Wolves to their 2009 German league title, back at the helm after his appointment on Friday.