Cadice è l'estremità occidentale del principale corridoio ferroviario della Spagna attraverso la Baia di Cadice e l'Andalusia meridionale. La città ha una principale stazione ferroviaria a lunga percorrenza, Cadice, affiancata da diverse fermate ferroviarie locali nell'area urbana. Renfe è il principale operatore, con servizi Alvia, Media Distancia e regionali che collegano la città alla rete nazionale tramite Jerez de la Frontera e Siviglia.
I servizi da Cadice includono treni intercity Alvia verso Madrid che utilizzano l'infrastruttura ad alta velocità su parte del percorso, treni Media Distancia attraverso l'Andalusia e treni regionali Cercanias che servono il corridoio Cadice-Jerez. La stazione ferroviaria di Cadice è il principale punto di partenza dei treni a lunga percorrenza da Cadice, mentre fermate vicine come San Severiano e Segunda Aguada gestiscono i movimenti regionali locali all'interno della città.
Le tratte ferroviarie da Cadice si dirigono a nord verso Jerez de la Frontera e Siviglia, proseguendo verso Cordova e Madrid, e lungo la Baia di Cadice verso San Fernando, Puerto Real ed El Puerto de Santa Maria. I treni per Cadice offrono anche accesso dall'aeroporto di Jerez tramite la fermata ferroviaria sulla linea Cadice-Jerez. Prenota online i treni da e per Cadice su Rail Monsters.