Målvakten Unai Simon kastade sig, fick upp handen och stoppade straffen från Kroatiens Bruno Petkovic.
Sedan visade Dani Carvajal kyla, precision när han avgjorde för Spanien.
Det spanska landslaget fick därmed finalrevansch efter förlusten mot Frankrike 2021.
Finalen visade sig bli en duell mellan två lag med liknande taktik: ha stort bollinnehav och därigenom få grepp samt styra matchen i nederländska Rotterdam.
I första halvlek blev det således två lag som tog ut varandra och bland det hetaste som skedde på "De Kuip" var spanjoren Gavis avslut som smet tätt utanför ena stolpen i tolfte minuten.
I 84:e minuten var inhopparen Ansu Fati närmast att hitta rätt men skottet rensades bort i sista stund av Ivan Perisic.
Trots målchanser för båda lagen, där Spaniens var något vassare, förblev matchen mållös under dess ordinarie minuter.
Förlängningen fick samma resultat – och straffar väntade.
Där var Spanien säkrast och vann med 5–4.
Segern är landslagets första i Nations League.
Italien vann bronsmatchen mot Nederländerna med 3–2. Italien ledde med 2–0 efter första halvlek och säkrade segern när Federico Chiesa satte 3–1 i 72:a minuten.