A 1-1 draw against Montpellier at the Stade la Mosson was enough to see Schalke finish top of Champions League Group B.
Benedikt Hoewedes gave the visitors the lead against the run of play on 56 minutes before Emanuel Herrera drew the Ligue 1 side level a mere three minutes later.
Herrera passed up two further chances to secure all three points in the closing minutes of the half and the spoils were shared.
Huub Stevens introduced Klaas-Jan Huntelaar as he went for the win that would have guaranteed top spot, but, with Arsenal losing in Greece to Olympiacos, the draw was enough to ensure Schalke were group winners.
Having secured a maiden French league title last season, Montpellier have struggled with the dual responsibilities of Champions League football and a title defence. Victory against Schalke would have made it a consolatory first win in the competition, but third-choice keeper Jonathan Ligali and Herrera made first Champions League starts following a spate of injuries.
In contrast, the Royal Blues have had a successful European campaign and had only to match Arsenal’s result against Olympiacos to head into the knockout stage as group winners, but, having faded recently domestically, Stevens elected to leave Huntelaar on the bench with an important fixture against Stuttgart on the horizon.
A caution away from a suspension, Joel Matip and Jermaine Jones joined Huntelaar on the bench as the hosts began in the ascendancy with full-backs Henri Bedimo and Daniel Congre exposing space in the visiting channels early on.
With a pitch that was far from conducive to crisp passing though, the final ball was all too often missing, and, having settled, it was Schalke who probably should have taken the lead but Teemu Pukki contrived to put a Julian Draxler centre wide from no more than six-yards out with 24 minutes gone.
Montpellier continued to threaten in wide areas but were looking porous at the back. Centre-back Christoph Metzelder worked a pretty pedestrian one-two to find himself in unfamiliar territory bearing down – albeit at an angle – on Ligali but he elected to square the ball rather than shoot, and, in doing so, passed up the last opportunity of the half.
As in the first-half, Montpellier offered more of a threat during the opening exchanges of the second period and Atsuto Uchida denied Herrera a near certain goal with a clearance off the line only moments before Hoewedes headed a Metzelder knock-down past Ligali with 56 minutes on the clock.
But Herrera was not to be denied his goal and he followed up his own blocked header to draw the sides level following good work from Anthony Mounier in the left channel with 59 minutes gone.
Stevens introduced Huntelaar as he looked to secure all three points but it was the half-time introduction of Romain Pitau that had the biggest impact on the course of the game. The 35-year-old's energy gave the hosts the edge as the game drew to a close and it was his chipped ball over the top that Herrera smashed straight at Timo Hildebrand in the closing stages.
That chance looked to be the last but the Argentine had another to secure his side a first Champions League win, but, having found space and taken the ball down well, he struck his effort straight at the keeper.
The draw continues a poor run of form for Stevens's men but with an under-strength Arsenal losing in Greece it mattered little as his side finished top of Group B.
MAN OF THE MATCH
Romain Pitau - Montpellier: The half-time substitute completely changed the complexion of the game with his industrious running and excellent passing.
MONTPELLIER: Ligali 6, Congré 6, Yanga-Mbiwa 6, Hilton 5, Bedimo 6, Estrada 6, Stambouli 5, Mounier 5, Cabella 5, Camara 5, Herrera 6. Subs: Utaka 6, Belhanda 6, Pitau 7.
SCHALKE: Hildebrand 6, Uchida 6, Hoewedes 6, Metzelder 6, Kolasinac 6, Neustädter 6, Holtby 6, Pukki 5, Barnetta 5, Draxler 5, Marica 5. Subs: Jones 6, Obasi 5, Huntelaar 5.