En mycket jämn match gick till slut till straffar efter 120 mållösa minuter.
Väl där drog Spanien det längsta strået. Båda lagen missade den första straffen, men sedan satte Spanien alla sina, medan Portugal missade en, Bruno Alves, som sköt i ribban.
Storstjärnan Cristiano Ronaldo fick inte ta en enda straff då han förmodligen skulle ta femte, men fick aldrig en chans eftersom Fabregas avgjorde straffläggningen efter Alves miss.
Spanien är alltså klara för final och Portugal som imponerat stort är ute.
I finalen väntar antingen Tyskland eller Italien som ställs mot varandra imorgon.