Strikes in each half from Vedad Ibisevic secured the points for the Swabians despite a Sven Ulreich own goal at the end of an engaging Bundesliga encounter.
End to end
Sporting next season's new kit and buoyed by the recent contract extensions of Julian Draxler and coach Jens Keller, Schalke pegged Stuttgart back with their aggressive attacking play early on.
Raffael had the first sight of goal, firing just wide from the edge of the penalty area, but Stuttgart were by no means cowed by Schalke's pressure and looked to break forward themselves. Ibisevic could even have put the visitors ahead but was unable to keep his header down from Cristian Molinaro's pinpoint cross.
Ibisevic strikes once…
Eager to secure a crack at the Champions League next season, Schalke continued to probe and the match developed into an entertaining affair with chances at both ends. The visitors were the first to make once such opportunity count, as Ibrahima Traore scampered away on a swift counterattack down the left before crossing for Ibisevic to flick in at the near post, giving the guests a deserved half-time lead.
The match followed a similar pattern after the restart, with Schalke making most of the running but Stuttgart always menacing on the counter. Klaas-Jan Huntelaar almost brought the hosts level with a superb free-kick from 30 yards which beat keeper Ulreich, but not the post.
…and strikes again
Stuttgart made them pay almost immediately afterwards, although Schalke were co-authors of their own downfall. Molinaro's long ball forward somehow flummoxed the home side's backline, allowing Christian Genter time and space to set up Ibisevic for a simple tap in.
Schalke were clearly missing the drive and energy of the suspended Draxler in attacking midfield and laboured to make an impact in the final third. While they did break through late on - Ulreich turning the ball into his own net following a late charge - it was not enough to earn a share of the spoils and the Royal Blues now face a decisive Champions League decider next week against SC Freiburg.
Line-ups and statistics