Schalke couldn't keep their 100 percent record, whereas Mainz looked good value in their final European appearance of the season. Elsewhere, late drama in a number of groups meant that some surprise teams progressed.
Salzburg 2-0 Schalke
(Schlager 22', Radosevic 90+4')
Chasing the chance of a perfect group-stage record, Schalke's much-changed team realized quickly that Salzburg weren't going to make life easy for them.
In his first senior start for the club, promising striker Donis Avdijaj curled just past the far post before Schalke were stunned by the home side. The visitors failed to clear their lines properly and when they did, it was deflected straight into the path of Xavier Schlager who tucked the ball away.
Half an hour into the game and Schalke still really hadn't found their feet. Fabian Giefer looked troubled as Salzburg threatened to add a second. Yevhen Konoplyanka floated an effort wide as Markus Weinzierl urged his side forward. Schlager was involved in six of the 10 Salzburg shots in the first half, but despite both his and the club's best efforts they couldn't add to the scoreline.
Fabian Reese, also making his first-team debut, was put through just shy of the hour mark, but his effort was straight at the keeper. Then Avdijaj sent a powerful header goalwards, but Cican Stankovic was equal to it.
Salzburg were the livelier team the later it got in the game and after a goal was ruled out for offside, Salzburg punished Schalke as they sought a victory. With Fabian Giefer up for a last-gasp corner, Schalke were exposed at the back and Josip Radosevic scored into the empty net.
The defeat does nothing more than spoil Schalke's otherwise perfect European card, as their spot atop of Group I was safe long before the game. Their focus returns to the Bundesliga and a home game against Bayer Leverkusen on Sunday.
Mainz 2-0 Gabala
(Hack 29', de Blasis 40')
With no chance of advancing before kickoff, Mainz were playing for pride in front of their home fans in their final European game of the season.
Fabian Frei should have given Martin Schmidt's side the lead inside the opening five minutes, but his effort squeezed wide of the far post. Eventually, Mainz did score when Alexander Hack smashed home his first goal for the club after the visitors failed to clear a corner.
On a cold night with little to play for, Mainz looked lively as Martin Schmidt's desire to win the game was fulfilled by his players. Frei missed a second chance and then Pablo de Blasis (the shortest player in the Bundesliga) headed in a second at the back post after great work from Giulio Donati.
Mainz controlled the rest of the game without much trouble from their visitors, failing only to add to their own tally. Frei completed a hat-trick of missed chances and Jairo snatched at a couple of half chances as Mainz delivered a comfortable victory. Having finished their Europa League campaign on a high, Mainz will be hoping to carry the momentum forward away at Borussia Mönchengladbach in three days' time.
Group C was dramatically won by St. Etienne who pulled off a remarkable comeback, beating Anderlecht 3-2 after being 2-0 down at the break and having missed a penalty.
Elsewhere in the Europa League
Celta Vigo stole second spot in Group G from St. Liege (who lost to at home to Group G leaders Ajax) afer beating the winless Panathinaikos 2-0. Southampton dominated Hapoel Beer Sheva at home, but a goal 10 minutes from time with the visitors first shot on goal saw the Premier League club miss out on the knockout rounds in heartbreaking fashion.
Manchester United secured their place in the Europa League knockout rounds with a 2-0 win against Zorya Luhansk in a very cold Odessa. Former BVB and Bundesliga favorite Henrikh Mkhitaryan's fine solo goal - his first for the club - was enough for Jose Mourinho's men, before Zlatan Ibrahimovic added a second two minutes from time. United were put through irrespective of their result though, after Group A winners Fenerbahce beat Feyenoord 1-0.
In one of the six early games, Shakhtar Donetsk kept their perfect record intact, while Gent snuck through in second thanks to a 94th-minute winner.
Thorsten Fink's Austria Vienna threw away a 2-0 lead against 10-men Plzen who completed the comeback of the night to win 3-2 to finish third and leave Austria Vienna bottom of Group E. In a thrilling Group D, AZ Alkmaar took second spot after beating group leaders Zenit.