Real are now all but guaranteed a quarter-final place even with the return leg to come in Madrid on March 18 after Karim Benzema and Gareth Bale both scored braces.
Real’s Ballon d’Or winner Cristiano Ronaldo also scored twice on his return from a three game suspension to see him take over from Zlatan Ibrahimovic as the competition’s top-scorer this season with 11 goals.
“The team has played a lot of good games and this is one more,” said Ronaldo.
“We played well and didn’t allow Schalke to play at their best. We are happy and a step away from the next round.
“The Schalke goalkeeper did very well and made good saves, but I believe in my ability and my teammates helped me a lot.
“I am very happy to score two goals.”
Schalke goalkeeper Ralf Faehrmann admitted his side had been outclassed as Real fired in 21 goal attempts compared to 10 by the hosts.
“One save against Ronaldo isn’t enough. Real Madrid were a class apart tonight,” said Faehrmann.
“When you start conceding goals, it’s almost impossible to come back against Real Madrid.”
Netherlands striker Klaas-Jan Huntelaar scored a 91st-minute consolation goal for Schalke, but it couldn’t prevent the Royal Blues suffering their heaviest defeat in European competition.
“You can see the disappointment is etched on our faces, but we will come back from this,” said Schalke captain Benedikt Hoewedes.
Carlo Ancelotti’s Real are now unbeaten in their last 27 games dating back to October.
“After the early goal, we started getting a lot of room, that was the reason for our perfect night,” said the Italian.
The huge victory went some way to correcting Real’s terrible away record in Germany as they made the Royal Blues of Schalke look anything but regal.
This was only Real’s second win in 26 visits to Germany after 18 defeats, including their 4-1 drubbing at Borussia Dortmund in last season’s Champions League’s semi-final.
Real needed just 13 minutes to take the lead at the Veltins Arena as their star-studded attack clicked into gear.
Bale cut in from the right, the ball came to Ronaldo and his backheel was deflected by a Schalke defender to Benzema and he fired past Faehrmann.
Schalke could have equalised almost immediately as teenage midfielder Max Meyer fired over the bar with the goal at his mercy after Iker Casillas had blocked Julian Draxler’s shot.
Schalke were punished for wasting their rare opportunity and with 21 minutes gone, Bale held off two Schalke defenders to make it 2-0.
Schalke’s situation was not helped by Ronaldo effortlessly switching with Bale from the left to the right wing midway through the first half, only to revert back after the break.
Schalke came out all guns blazing for the second-half as Kevin-Prince Boateng forced Casillas into a save.
But Ronaldo finally got on the scoresheet at the fourth attempt to claim his 10th European goal of the season in his sixth Champions League match.
He effortlessly turned Cameroon centre-back Joel Matip inside, then out before tucking the ball just inside the far post with 52 minutes gone.
Just five minutes later, his deft backheel fell into Benzema’s path for the Frenchman to drill home his second of the night and Real’s fourth.
It was one-way traffic by now and Bale scored his second and Real’s fifth when Sergio Ramos’s through ball was driven low into the bottom left-hand corner on 69 minutes.
Ronaldo then grabbed his second on 89 minutes to leave him with 36 goals in 33 games for Real this season before Huntelaar finally put Schalke on the board just before the final whistle.