The visitors are now winless in six and their hopes of qualifying for the Champions League are dwindling after the latest upset
Stefan Bell's double helped Mainz sink Schalke 2-0 on Friday to pile the pressure on under-fire coach Roberto Di Matteo.
Schalke had already fallen 12 points off the pace for a Champions League place in the Bundesliga and are now effectively out of the running with just four games to go.
There were positive signs for Schalke in the early stages of the contest at the Coface Arena as Klaas-Jan Huntelaar saw two chances go begging.
Centre-back Bell proved far more clinical at the other end, though, putting Mainz ahead just shy of the half-hour mark when he knocked in from close range after a Jonathan Geis corner caused havoc.
Mainz were two to the good three minutes later. Another Geis corner proved integral as Bell headed in the teasing delivery.
Both sides hit the crossbar in the final twenty minutes, with Mainz's Jairo Samperio and Schalke's Julian Draxler going close for their respective teams, but the score remained 2-0.
Mainz subsequently hoisted themselves into the top half of the table, while Schalke are now winless in six.