A heavy defeat did not appear to be on the cards when Dejan Stefanovic handed Inter a first-minute lead, volleying home from the centre-circle after Schalke goalkeeper Manuel Neuer raced off his line to head clear.
The visitors levelled matters 16 minutes later when Joel Matip fired home after Julio Cesar failed to deal with a Kyriakos Papadopoulos header, but Inter restored their one-goal advantage on 33 minutes when Esteban Cambiasso headed a Wesley Sneijder cross back across goal for Diego Milito to slot home.
Once again Schalke pulled level when Goncalves Edu fired home after Cesar blocked his initial effort, and they went in front on 53 minutes when Jefferson Farfan tee’d up Raul to net his 70th goal in Champions League action.
Inter were left reeling when Andrea Ranocchia turned a Jose Manuel Jurado cross into his own net, and their night worsened when Cristian Chivu was dismissed for a foul on Edu just after the hour mark.
Schalke then wrapped up a memorable victory 15 minutes from time when Edu turned Ranocchia and beat Cesar with a fine curling effort.