Bayern Munich, Schalke and Borussia Monchengladbach saw their respective Bundesliga title challenges hindered by frustrating draws.
Bayer Leverkusen were held at home, Augsburg picked up a point in their fight to avoid relegation and Hannover battled for a victory at Hertha Berlin.
Mid-table Mainz denied Schalke the chance to draw level on points with leaders Borussia Dortmund following a 1-1 draw in Gelsenkirchen.
Mohamad Zidan's goal after 15 minutes put Mainz ahead before Chinedu Obasi rescued a point for Schalke just before the hour mark.
Bayern also failed to rejoin Dortmund at the head of affairs following a 1-1 draw away to Hamburg.
Jacopo Sala put Hamburg in front midway through the first half before Croatian attacker Ivica Olic earned Bayern a point on 71 minutes.
Borussia Monchengladbach are now three points adrift of the summit following a 0-0 draw away to another side in mid-table Wolfsburg.
Augsburg remain in the bottom two, but produced a creditable performance in fighting back to draw 2-2 away with Hoffenheim.
The visitors took the lead through Sascha Molders, but an own goal from Peniel Kokou Mlapa and Sejad Salihovic penalty put Hoffenheim in the ascendancy.
Sebastian Langkamp drew Augsburg level on 72 minutes and, five minutes later, Augsburg were denied victory when Molders struck the crossbar.
Leverkusen's bid for European football met with a minor setback after a 2-2 home draw with Stuttgart which saw both teams finish the match with 10 men.
The hosts twice took the lead, firstly through Stefan Kiessling on 11 minutes and again two minutes after half-time through Simon Rolfes' penalty after Julian Schieber had levelled for Stuttgart.
Michal Kadlec was then sent off on 63 minutes for Leverkusen before Stuttgart equalised with a minute to go through Martin Harnik and then had Cristian Molinaro sent off in injury time.
Mohammed Abdellaoue's goal midway through the second half earned Hannover a 1-0 win at Hertha, who had Sebastian Neumann dismissed with 15 minutes to go.