Mainz, who won their first two games, were on course for another win when Austrian Andreas Ivanschitz and Colombian Elkin Soto put them 2-0 ahead after only 12 minutes.
Dutchman Klaas-Jan Huntelaar followed up last week’s hat-trick against Cologne by scoring for Schalke in the 57th minute and Benedikt Hoewedes headed the equaliser seven minutes later.
Joel Matip and Christian Fuchs completed the fightback for Schalke with two goals in the last 10 minutes.
Hanover 96, also with two opening wins, were at home to Hertha Berlin in Sunday’s other game.
Short link: