Schalke, trailing at halftime to a deflected shot from Andreas Christensen and a 30-metre rocket from Mahmoud Dahoud, were helped by a bumpy pitch as they hit back against Gladbach. (In photo: Schalke 04's players react after the match. Photograph: (Reuters)
Manchester United went through after beating Rostov 1-0
Schalke 04 hit back from two goals down to draw 2-2 and overcome fellow Germans Borussia Moenchenglach on away goals in their Europa League last 16 tie while Manchester United edged Rostov 1-0 to progress on Thursday.
Juan Mata's second-half goal gave the English Premier League's only survivors in the competition a 2-1 aggregate win over the Russians.
Olympique Lyon clung on to eliminate AS Roma 5-4 on aggregate despite a 2-1 defeat, while former European trophy winners Ajax Amsterdam and Anderlecht also went through along with Racing Genk.
Russia's interest in this season's European competitions ended as Krasnodar threw away a promising position at home to Celta and lost 2-0 for a 4-1 aggregate defeat.
Besiktas hammered Olympiakos Piraeus 4-1 (5-2 on aggregate) despite having Vincent Aboubakar, scorer of their first goal, sent off six minutes before halftime.
Schalke, trailing at halftime to a deflected shot from Andreas Christensen and a 30-metre rocket from Mahmoud Dahoud, were helped by a bumpy pitch as they hit back against Gladbach.
Leon Goretzka's low shot appeared to be going straight to Gladbach goalkeeper Yann Sommer but hit a divot and looped over the Swiss and into the net in the 54th minute. "It's tough, I can't say anything other than that," said Sommer.
Dahoub then turned villain as his handball led to a Schalke penalty converted by Nabil Bentaleb in the 68th to give the Royal Blues an away goals win after a 3-3 aggregate draw.
Manchester United, who held Rostov 1-1 on a difficult pitch in the first leg, needed a 70th minute goal from Juan Mata, who turned the ball home from Zlatan Ibrahimovic's back-heel, and two good saves from Sergio Romero.
However, midfielder Paul Pogba was forced off with an injury in the second half, putting a dampener on the win.
Lyon took a 4-2 lead to the Stadio Olimpico and quickly added to it when Mactour Diakhaby was allowed a free header from six metres in the 16th minute against Roma.
Kevin Strootman levelled within a minute, turning in Daniele De Rossi's free kick at the back post, and it was one-way traffic after that as the home side poured forward.
Lyon's Lucas Tousart turned Stephan El Shaarawy's cross into his own net to put Roma 2-1 ahead on the hour and the hosts thought they had done enough to progress with an Edin Dzeko effort but the Bosnia forward was ruled offside.
First-half goals from Bertrand Traore and Kasper Dolberg gave Ajax a 2-0 win over FC Copenhagen which took the four-times European champions through 3-2 on aggregate.
Frank Acheampong's second half goal was enough for former European Cup Winners' Cup and UEFA Cup holders Anderlecht to beat APOEL 1-0 and go through2-0 on aggregate.
Racing Genk coasted through 6-3 on aggregate against fellow Belgians Gent after a 1-1 draw.
Besiktas, who drew 1-1 at Olympiakos last week, got off to a flying start as Aboubakar and Ryan Babel scored inside the first 22 minutes.
The Greek side pulled one back with Tarik Elyounoussi's acrobatic volley in the 31st and were given more hope when Aboubakar was dismissed for violent conduct eight minutes later.
But Olympiakos left themselves too open and further late goals from Babel and Cenk Tosun saw the Turks ease through.
The draw for the quarter-finals will be held on Friday.