Croatia, so impressive in keeping the ball at the World Cup, lost confidence as Spain dominated possession and picked their opponents off easily, inflicting biggest defeat on the Croats after a 5-1 loss to England in a World Cup qualifier in 2009.
It has been an impressive week for Atletico Madrid's Saul Niguez who has scored two goals in as many appearances this global break, continuing to prove just how important he is in Luis Enrique's Spain.
Spain scored three goals in each half as they completely outplayed Croatia, who were playing just their second game since the World Cup final. Two minutes later, the Real Madrid midfielder rocketed another shot that rattled the crossbar and clipped Kalinic, settling in for an own-goal off the diving Croatian stopper.
Spain's two wins out of two in the Nations League see them top League A Group 4 with six points.
Spain boss Luis Enrique is set to give Iago Aspas another place in the starting XI following his impressive display against the Three Lions at Wembley.
Spain, meanwhile, is coming off a 2-1 victory over England in its first Nations League match.
The two nations are facing each other for the seventh time, with Croatia taking the last meeting - a 2-1 win at Euro 2016.
Spain have now won both of their opening UEFA Nations League games and on this evidence will take some stopping in League A.
Belgium earned a comfortable win over Iceland thanks to a pair of goals by Romelu Lukaku and one from Eden Hazard.
In contrast the Belgians poured forward, with Thomas Meunier hitting the foot of the post midway through the second half, and Lukaku blazing a late shot over the bar before steering the ball past Halldorsson to complete the rout.