Spain goalkeeper Unai Simon denied Lovro Mayer and Bruno Petkovic from the spot, before Carvajal cheekily chipped home to earn La Roja their first trophy since Euro 2012 and break Croatian hearts.
Zlatko Dalic's side, runners-up at the World Cup in 2018 and third in 2022, have never won a major trophy and were hoping Nations League success would cap a glittering international career for captain Luka Modric, who played his 166th international game.
The victory is a confidence boost for new Spain coach Luis de la Fuente after heavy criticism in March after a defeat by Scotland in Euro 2024 qualifying.
It also avenged their 2021 final defeat by France. "For us it was a unique opportunity, we went out early in another tournament (at the World Cup in Qatar) and today we had to take advantage," Real Madrid defender Carvajal told Spanish broadcaster TVE. "We had confidence with the penalties and it went well, I knew how I was going to shoot it, and I knew I was going to be sixth...