The dramatic penalty shootout ensued after the goalless regular and extra time.
Spain thus won the third Nations League final.
Croatia defeated hosts Netherlands 4-2 after extra time in thrilling semi-final last Wednesday, while in the other semi-final Spain beat Italy (2-1).
Earlier on Sunday, Italy beat Netherlands 3-2 in third-place play-off.
The UEFA Nations League is a biennial international football competition for the senior men's national teams of the member associations of UEFA.