Det blev ingen tredje raka VM-final för Frankrike.
Spanien nollade fransmännen och är klart för final.
De regerande Europamästarna är nu obesegrade i 37 matcher i rad.
Få lag hade imponerat så mycket som Frankrike i VM. Fransoserna hade fullkomligt stormat igenom världsmästerskapet, men mot ett ramstarkt spanskt kollektiv blev det pyspunka.
Kylian Mbappé & Co kom aldrig loss mot det spanska försvaret och var i slutändan aldrig riktigt nära.
Grunden till Spaniens första VM-finalframträdande sedan guldet 2010 började läggas ordentligt efter 20 minuters spel.
Då hade Lucas Digne ner Lamine Yamal i straffområdet och Mikel Oyarzabal kunde sätta 1–0 från elva meter.
2–0 kom i den 58:e minuten på sedvanligt spanskt manér.
Ett snabbt passningsspel resulterade i att Dani Olmo skarvade fram en fri Pedro Porro som distinkt satte spanjorernas andra mål för kvällen.