The 28-year-old becomes Villa’s seventh signing this summer following the acquisitions of Scott Sinclair, Micah Richards, Mark Bunn, Jordan Amavi, Idrissa Gueye and Jordan Ayew.
Cordoba, who has previously turned out for Sevilla and Racing Santander, also has experience of playing in Italy after spells with Padova, Bologna and Verona.
Villa manager Tim Sherwood told the club’s official website: “Jose is a player who has been on our radar for some time and we’re really pleased to secure his signature.
“He is an experienced player who has played in La Liga and Serie A, two of the strongest leagues in Europe, and from speaking to him I know he can’t wait to play for Aston Villa.”
Crespo completed his medical at Villa’s Bodymoor Heath training complex on Tuesday morning before meeting his new teammates for the first time.