With the German defence at full stretch and time almost up, Bulut provided the killer blow with the 95th-minute second-leg winner which put the Turkish league leaders through 4-3 on aggregate over the two legs of the last 16 tie.
Galatasaray go into Friday's draw for the last eight, while Schalke failed in their bid to join Bundesliga rivals Borussia Dortmund in the quarter-finals.
"We showed we deserve to be in the quarter-finals, but it was a close game and both teams had their chances," said Galatasaray midfielder Hamit Altintop.
"Perhaps we had a bit of luck at the end, but I'll take that.
"We responded well to fight back after conceding the early goal."
Having scored Galatasaray's first goal with a beautifully stuck long-range shot, the ex-Schalke midfielder, who was born in Gelsenkirchen, asked for the home fans' forgiveness.
"I learnt to play football here, I started my career here and a part of me is still Schalke, I hope the fans can forgive my celebration," said Altintop, who left the Royal Blues in 2007 after a four year stay.
Midfielder Roman Neustaedter had given Schalke an early lead, but goals by Altintop and Burak Yilmaz put Galatasaray 2-1 up at the break.
Michel Bastos levelled for Schalke in the second-half, before Bulut settled matters much to the Turks' delight.
"We are all very disappointed," said Schalke goalkeeper Timo Hildebrand.
"We made a mistake for their first goal (by Altintop), the sort you can't afford in the Champions League and we were punished straight away."
With some 10,000 Galatasaray fans among the 54,142 strong crowd, in part due to Gelsenkirchen's sizeable Turkish community, the first-half was a breathtaking affair as control slipped from the hosts grip and into that of the Turkish side.
Schalke went ahead on 17 minutes when Jefferson Farfan's corner caused mayhem in the Turkish defence.
Schalke captain Benedikt Hoewedes had his header blocked, but the ball fell to Neustaedter, who fired past goalkeeper Fernando Muslera.
The advantage lasted 20 minutes as Galatasaray got back on level terms when a short free-kick caught the hosts cold and Altintop planted an unstoppable shot which clipped the post as it flew in, just out of Hildebrand's reach.
The Turkish league leaders then went 3-2 ahead on aggregate in the 42nd minute from an innocuous situation when left-back Albert Riera slid in to dispossess Marco Hoeger in the Schalke half.
The ball flew over the home defence and into the path of Yilmaz, who bolted onto the loose ball, held off Hoewedes and lobbed Hildebrand to put Galatasaray ahead.
The Royal Blues took the game by the scruff of the neck with Finland striker Teemu Pukki, in for injured Dutch star Klaas-Jan Huntelaar, going close, while Julian Draxler, 19, also tested Muslera.
Schalke equalised when Muslera's save fell to Japan right-back Atsuto Uchida who slid a pass out to Bastos, who fired home from close range to give his team a lifeline.
Both sides had their chances to settle the matter as Pukki, with the ball as his feet, forced Muslera into a great save, as did Bastos, while at the other end Hildebrand was called into action to deny Nordin Amrabat.
But when Schalke were caught out by a late counter-attack, it was Bulut who rounded Hildebrand to knock the hosts out.