Dortmund trounces Greuther Furth
Goals by Mario Gotze and Ilkay Gundogan put the visitors in charge inside 15 minutes, while a Jakub Blaszczykowski strike and further efforts by Gundogan and Gotze made it 5-0 at the break.
Edgar Prib hit a fine consolation for Furth in the 71st minute before the league's top scorer Robert Lewandowski made it 6-1 late on.
Simon Rolfes gave the visitors the lead five minutes before half-time and a second from Michal Kadlec just shy of the hour mark seemed like it would be enough to earn all three points for third-placed Leverkusen.
However, Teemu Pukki brought Schalke back into the game and a penalty from Raffael after Omer Toprak was sent off earned the home team a point, punishing Leverkusen for wasting a hatful of chances early in the game.
Son found the net in the 61st and 81st minutes to give Hamburg a 2-0 lead before Shawn Parker made it 2-1 in the dying minutes.
Maximilian Arnold gave Wolfsburg the lead after 13 minutes, but Sejad Salihovic levelled with a penalty 10 minutes before half-time and Andreas Beck turned the game on its head in the 63rd minute.
However, Hoffenheim could not hang on and Naldo equalised with four minutes left.
Stefan Reisinger twice put Dusseldorf in front, in the second and 48th minutes, but Zlatko Junuzovic's strike and Martin Latka own goal meant it ended all square.
Freiburg remain on course for a place in Europe next season after defeating Hannover 3-1 at the Dreisamstadion, effectively ending the Lower Saxony club's hopes of a third straight Europa League campaign.
Goals from Max Kruse and Jonathan Schmid followed an own goal from Christian Schulz.
Konstantin Rausch's goal was not enough for Hannover, as defeat leaves them with a mountain to climb over the last five games of the season if they are to make it into Europe next season.