Uefa named Luka Modric as its player of the year less than two weeks ago, but the Croatian captain could not muster up his usual commanding performance for his team, who may still be feeling the impact of a tremendous, yet exhausting, World Cup.
Asensio, who was not among the starters against England, also set up Rodrigo's goal early in the second half with a ideal through ball behind the defence.
Spain now have six points in UEFA Nations League Group 4 after two games.
Spain coach Luis Enrique has admitted he made a mistake to not select Celta Vigo forward Iago Aspas in his initial squad after seeing him in training.
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 were in a confident mood after winning their first game under Luis Enrique 2-1 away to England in their Nations League opener on Saturday and once they scored the floodgates opened and Croatia were left chasing shadows.
Marco Asensio doubled the lead for the hosts in the 33rd minute with a 25-yard rocket that screamed into the top corner after some sloppiness at the back from Croatia, 2-0.
The hosts will need to be in better form against Romelu Lukaku and Eden Hazard than in their last game, the first without influential manager Heimir Hallgromsson, where they were beaten 6-0 by Switzerland. Hamren made three changes to the side that lost to the Swiss with Runar Sigurjonsson, Emil Hallfredsson and Hordur Magnusson coming in for Rurik Gislason, Gudlaugur Victor Palsson and Bjorn Sigurdarson and his side looked much more stable in the opening exchanges. Spain was eliminated during the round of 16 of the World Cup, losing to Russian Federation on penalties after a 1-1 draw.