La ciudad fue fundada por los romanos con el nombre de Alpesa. Durante la reconquista fue primero tomada por el rey Alfonso I de Portugal en 1166, pero cayó de nuevo en poder musulmán hasta que los portugueses la reconquistaron definitivamente en 1226, recibiendo sus fueros del rey Sancho II de Portugal en 1231. En 1570 se convirtió en sede episcopal. Durante siglos fue el principal puesto fronterizo al sur del Tajo. En 1658 se produjo la victoria portuguesa en la Batalla de las Líneas de Elvas en el marco de la Guerra de Restauración portuguesa. Los españoles también la sitiarían en 1711.