Spanien tog sig vidare till semifinalen genom att slå ut Kroatien i kvartsfinalen med 2-1 och Portugal besegrade Italien med 5-3 i sin kvartsfinal.
Men det blev desto målfattigare i semifinalen mellan de två stornationerna.
Först i 80:e minuten kom matchens första mål. Portugal hade haft ett högt tryck under en stund när Fabio Vieira, till vardags i Porto, drog på ett skott mot mål. Bollen tog på den spanske försvararen Jorge Cuencas smalben och fick en olycklig styrning som ställde målvakten och bollen seglade in i mål.
Spanien kämpade för en kvittering men trots sex tilläggsminuter så lyckades man inte. Och när den svenske domaren Glenn Nyberg satte pipan i munnen och blåste av hade Portugal vunnit med 1-0.
I finalen, som spelas 21.00 på söndag, ställs Portugal mot Tyskland.