Cádiz, que disputará la próxima temporada en la segunda división, había empatado 2 a 2 con el equipo de Juan Román Riquelme, y luego se impuso desde los doce pasos.
El Submarino Amarillo se puso en ventaja con un tanto del argentino Gonzalo Rodríguez, mientras que Cádiz igualó con un cabezazo de César, tras un error del arquero Mariano Barbosa.
El turco Nihat marcó el segundo de la visita, pero cuando parecía que el triunfo estaba definido, Enrique (a los 46 del complemento) puso el empate.
En los penales, Barbosa se quedó con el primer remate y Riquelme, quien ingresó minutos antes del final, puso arriba a Villarreal. Sin embargo, el local se recuperó de la mano Alejandro Limia y lo cerró con un preciso disparo de Lucas Lobos.
El otro finalista será el Betis, que después de empatar 3 a 3 con el Real Madrid -que ayer anunció el fichaje del defensor del Olympique Lyon de Francia, el natural de Malí, Mahamadou Diarra-, lo dejó en el camino desde los doce pasos.
Dani (dos) y el brasileño Edú (de penal) anotaron para el conjunto 'verdiblanco'. Para Real convirtieron el holandés Ruud van Nistelrooy (de penal), Raúl y el italiano Fabio Cannavaro.
En los penales, el Betis se impuso 5 a 4 y definirá el certamen frente al Cádiz.