Schalke recovered from two goals down to claim a draw against Bayer Leverkusen that keeps them a point clear of fifth-placed Freiburg in the race for the final Champions League berth.
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.
After Stefan Kiessling had an early shot blocked, Andre Schurrle had the opening goal at his feet in the eighth minute only to play the ball tamely into the arms of Timo Hildebrand with just the keeper to beat.
With a bit more composure and vision, the Germany international could even have squared the ball to Kiessling and presented him with an open goal.
Three minutes later, Julian Draxler sent in Schalke's first attempt on goal, a shot which Bernd Leno did well to turn past the post.
The better chances continued to fall at the other end, though, with Daniel Carvajal only finding the side-netting before Schurrle was again denied by an increasingly busy Hildebrand.
Leverkusen finally made a deserved breakthrough in the 39th minute with Rolfes heading Lars Bender's sweeping cross in at the far post.
The visitors doubled their lead in the 58th minute with Kadlec's curling free-kick going into the top left-hand corner of the net.
Pukki was sent on by Schalke coach Jens Keller and the gamble soon paid off as the Finland international reduced the arrears in the 71st minute, pouncing on the rebound as Leno found Michel Bastos' long-range effort too hot to handle.
Schalke committed men forward in search of an equaliser and they had Hildebrand to thank for keeping them in the game with a save from Rolfes.
The action was largely taking place in and around Leverkusen's penalty area, and when Pukki got through in the 87th minute, the only way Toprak could stop him was with a professional foul which earned him a red card and gave Schalke a penalty.
Raffael stepped up to place the ball in off the left-hand post and earn Schalke a potentially valuable point in the race for a top-four finish.