Three goals in the space of 11 first-half minutes put the hosts on their way to a second successive UEFA Nations League victory, and they were five up before the hour mark.
The visitors actually started brightly and the story of the match could have been very different had they taken one of three golden opportunities inside the opening 20 minutes.
Ivan Rakitic, winning a 100th cap that he will want to forget, eventually ran onto a stray back-pass from Sergio Busquets but could not get enough bend on his first-time shot to sneak it inside David de Gea's post.
Right-back Sime Vrsaljko was an effective attacking outlet for Croatia before his 20th-minute withdrawal through injury, and he teed up striker Ivan Santini with a cross which was knocked wide from eight yards out.
Vrsaljko provided Ivan Perisic with another chance during Croatia's early barrage but Spain's own right-back came to the rescue as Dani Carvajal tracked the Inter Milan winger to make a crucial intervention 10 yards from goal.
The Croats were made to pay in a big way, starting when Saul Niguez opened the scoring on 24 minutes, timing his run from deep to perfection to leap above Matej Mitrovic and thump Carvajal's cross into the bottom corner.
Marco Asensio was arguably the star of the show and scored his first international goal on 33 minutes by capitalising on some sloppy midfield play to collect the ball 25 yards out and beat Lovre Kalinic with a left-footed rocket.
The Real Madrid prodigy deserved a second moments later when he cut in from the right flank and whipped a shot against the crossbar, with the ball dropping down and over the line off the head of Kalinic for an own goal.
That counted as one of four assists for Asensio on the night, with a more conventional one coming four minutes after the restart when he released Rodrigo who nutmegged Kalinic for his fourth goal in six starts for his country.
Although this was a night on which a new generation of international stars were born, Sergio Ramos was not to be left out as the defender lost his marker from a corner to head home his fourth goal of the season on 57 minutes.
Ramos's Real Madrid teammate Isco made it six with still 20 minutes for Croatia to endure, when he turned away from Domagoj Vida on the penalty spot and rifled a shot past the helpless Kalinic, with Asensio again the provider.
The hosts took their foot off the gas for the final quarter of an hour although Rodrigo and Isco still had chances to pile more humilation on Zlatko Dalic's side, who were handed a stark reality check on the back of their run in Russia.
Spain have now won both of their opening UEFA Nations League games and on this evidence will take some stopping in League A.
SPAIN (4-3-3): De Gea; Carvajal (Azpilicueta, 75'), Nacho, Ramos, Gaya; Saul Niguez (Thiago, 65'), Busquets (Rodri, 59'), Ceballas; Isco, Asensio, Rodrigo
CROATIA (4-3-3): Kalinic; Vrsaljko (Rog, 20'), Mitrovic, Vida, Pivaric; Rakitic, Brozovic (Pjaca, 62'), Modric; Kovacic, Perisic, Santini (Livaja, 71')