Julian Draxler scored two goals and set up a third as Schalke beat Wolfsburg on the road for their second win a row.
Draxler's first goal in the 33rd minute was cancelled out by Ivica Olic in the 50th minute. But Draxler scored again after 63 minutes and Jefferson Farfan killed off Wolfsburg with a third 11 minutes from time.
There was still time for Klaas Jan Huntelaar to add a final flourish in the 86th minute.
Schalke's second straight win - after a four-match winless streak - rekindled their hopes of claiming a Champions League place, but Wolfsburg's worries grow as they have now just one win from their last six matches.
Schalke had the first chance in the fifth minute when Draxler sent Huntelaar through one-on-one, but he could not beat Wolfsburg goalkeeper Diego Benaglio.
Simon Kjaer then went close for Wolfsburg with a header that struck the crossbar before his centre-half partner Naldo had to be substituted with a thigh injury, replaced by Sotirios Kyrgiakos.
However, Kyrgiakos was soon being rounded by Draxler as the teenage midfielder collected Marco Hoger's cross and beat Benaglio to make it 1-0.
Draxler might have had a second four minutes before the break but his shot struck a post.
Wolfsburg equalised five minutes when Olic nodded in after Timo Hildebrand failed to get Jan Polak's header clear.
Draxler grabbed his second goal and gave Schalke a 2-1 lead in the 63rd minute as they again fed on scraps, Jermain Jones collecting the rebound from Sead Kolasinac's shot and teeing up his team-mate to fire home.
Farfan's goal came on a counter-attack as Jones thumped a long ball forward and the Peruvian played a quick one-two with Draxler before finishing.
The fourth came late on with Farfan turning provider for Huntelaar, who scored his first Bundesliga goal since November.