GELSENKIRCHEN, Germany -- Galatasaray beat Schalke 3-2 on Tuesday to advance to the Champions League quarterfinals with a 4-3 victory on aggregate.
Substitute Umut Bulut scored the winner in the fifth minute of stoppage time, though Galatasaray was already through with a 2-2 draw on the away goals rule.
Barcelona also advanced with a 4-0 win over AC Milan, overcoming a 2-0 deficit from the first leg.
Roman Neustaedter put Schalke ahead in the 17th minute but Galatasaray fought back with two goals before halftime. Hamit Altintop scored with a long-range shot against his former team in the 37th and Burak Yilmaz put the Istanbul side in front in the 42nd.
Michel Bastos levelled in the 63rd and Schalke missed several chances after that to win the match before Bulut finished a counterattack to put his team in the last eight of the Champions League for the first time since 2001. Galatasaray, held to a 1-1 draw at home, won its third match on the road this season in the competition.
"We invested too little in the first half, it's a bitter disappointment. We made stupid mistakes," Schalke captain Bendekit Hoewedes said.
Schalke came under pressure early in the match.
Didier Drogba shot wide, then released Selcuk Inan, whose weak finish was no problem for Schalke goalkeeper Timo Hildebrand.
But it was Schalke that scored first.
Jefferson Farfan's corner left Galatasaray's defence in disarray and Howedes' header was blocked before the ball fell to Neustaedter, who drove past Fernando Muslera.
Wesley Sneijder's sent a curling shot just wide, before Altintop levelled against his hometown team, where he spent four seasons. He unleashed a shot from some 30 metres (yards) out, and the ball hit the inside of the post before bouncing into the net.
Yilmaz put Galatasaray ahead after Albert Riera stole the ball from Marco Hoeger in the Schalke half and it fell into the forward's path. Yilmaz shook off Hoewedes and beat Hildebrand.
However, Hildebrand did well to tip away another effort from Yilmaz after the break.
Schalke's Julian Draxler shot wide after sliding past Felipe Melo and Semih Kaya, shortly before the home team levelled.
Goalkeeper Fernando Muslera made a good save at the feet of Teemu Pukki but the loose ball came to Atsuto Uchida, who found Bastos to score from close range.
Sneijder then saw another effort go wide, and Muslera made two more saves to deny Draxler.
With time running out, Bulut collected a through pass from Selcuk Inan and sealed the win. His first effort was parried by Hildebrand but Bulut made no mistake the second time.