Portugal to Spain:
from the Algarve to Andalusia the easy way, by ferry, bike & train
It's fun and easy to travel from the Algarve in Portugal to Andalusia in Spain without flying.
From Lagos, Albufeira or Faro, just hop on a train heading east along the coast to Vila Real de Santo António.
From there you can see the Spanish / Andalusian town of Ayamonte, just across the Guadiana River, and easily reached by a scenic 15-minute ferry.
Once in Andalusia, the railway picks up again in Huelva. (The old railway line from Huelva to Ayamonte was closed in the 1980s.) So to get to Huelva from Ayamonte, it's either a bus ride or a bike ride.
From Huelva, you can pick up rail connections to Seville, and from there further into Andalusia: Córdoba, Málaga, Cádiz and Algeciras and Gibraltar are within all in easy reach.
Scroll down and read on for details of each step of the journey...
Lagos, Albufeira or Faro to Vila Real de Santo António by train
A dozen trains a day run along the south coast of Portugal, from Lagos and Albufeira in the west, to Vila Real de Santo António on the Spanish border in the east.
If you're coming from Lagos or Albufeira, you'll need to change at Faro.
From Faro, trains run direct to Vila Real de Santo António, taking a little over an hour.
The first train running east from Faro leaves at 07:20.
The last train at night departs at 22:16, reaching Vila Real de Santo António at 23:19.
There's no need to book ahead, these are "turn up and ride" trains, with no reservation required. Buy your ticket at the station. Interrail passes are accepted.
Vila Real de Santo António (Portugal) to Ayamonte (Spain) by Ferry
The short hop across the Guadania River is one of our favourite ferry rides.
On weekdays, the ferry leaves Vila de Real de Santo António on the Portuguese side roughly hourly from 09:30 until at least 19:00 (later and more frequently in summer). Weekend services start a little later and finish earlier.
The foot passenger fare is €2.30, and you can bring your bicycle along for a small supplement.
The crossing to Ayamonte on the Spanish side takes around 20 minutes.
Remember that Spain is one hour ahead of Portuguese time, so you effectively "lose" an hour when crossing the river from west to east — worth bearing in mind if you're planning to make a bus or train connection later in the day...
Ayamonte to Huelva by bus
At least 6 buses run daily in each direction between Ayamonte and Huelva. It's a trip of around 60 km, taking around an hour.
On weekdays, the first bus leaves Ayamonte at 06:40, with buses running approximately hourly through the day until the final bus leaves Ayamonte at 19:30.
If you're heading in the other direction, westbound from Huelva to Ayamonte, the first bus leaves at 09:00, with the final bus of the day leaving Huelva at 21:00.
The service is less frequent at weekends.
Ayamonte to Huelva by bike, along the Via Verde del Litoral
The old railway line from Ayamonte to Huelva has been transformed into a Via Verde, or "Green Way": a traffic-free cycling and walking route.
(You'll find a network of such Vias Verdes in many places across Spain where old railways have been closed.)
This one, the Via Verde del Litoral, is particularly attractive because of the various nature reserves through which it passes, including the globally-important marshes along the Odiel River and around Cristina Island. (Las Marismas del Odiel and Las Marismas de Isla Cristina.)
You'll see a rich variety of animal and bird life here, including flamingos.
The Via Verde del Litoral is well-signposted much of the way, but you'd be wise to bring your own maps (either electronic or paper) with you, because there are some gaps where the route is not completely clear.
The Via Verde's eastern "terminus" is at the railway station at Gibraleón, about 15 km north of Huelva, so to get to Huelva itself you can either head south and pedal the last 15 km — or you for a more direct route you can peel off the Via Verde a bit earlier and find a road route direct to Huelva.
The total distance from Ayamonte to Gibraleón along the Via Verde is 47 km.
Important note: some sections of the Via Verde del Litoral are sandy and quite tough going, especially if you're on a narrow-tyred road bike. (Fat-tyred mountain bikes should have an easier time.) Be prepared to get off and push from time to time. You don't see many towns along the way either, so take plenty of water.
From Huelva onwards to Seville
Three trains a day run from Huelva to Seville (Sevilla), departing at 06:55, 15:00 and 19:00.
(On Fridays and Sundays an additional train runs, leaving at 17:30.)
The journey takes about 90 minutes.
Beware: seat reservations are required for these "Media Distancia" trains. While you should normally be OK to buy your ticket on the day, these trains can and do sell out at busy times, so book ahead if you can. A ticket (reservation included) costs €12.70.
We arrived in Huelva on Easter Sunday after a long hot bike ride from Ayamonte, and found all the trains were sold out. A very helpful (and patient) ticket clerk at Huelva station advised us to wait a while because sometimes there are short-notice cancellations. And we got lucky — a couple of hours before the last train was due to depart, somebody cancelled their ticket and we were able to get a last-minute reservation. But better not count on being lucky: book ahead if you can, online or via the Renfe app.
Seville to Algeciras & Gibraltar
From Seville, you can travel onwards by train to Algeciras, from where ferries cross the Strait of Gibraltar to Tangier in Morocco, as well as to the Spanish enclaves of Ceuta and Melilla.
Algeciras also has the distinction of being the southernmost passenger railway station in Europe — worth a visit for that distinction alone!
Even if you're not planning to travel onwards to Africa, you'll have fine views across the Bay of Gibraltar to the Rock of Gibraltar itself, and, from Punta Carnero, just a few km south of Algeciras, spectacular views on a clear day across the Strait to Jebel Musa in Morocco.
Trains connections from Seville to Algeciras run four times daily, departing Sevilla Santa Justa at 08:15, 12:40, 16:07, and 18:48. The journey takes between four and five hours, and you'll change either at Córdoba or Antequera-Santa Ana. (If you plan to break the journey, pick Córdoba. Antequera-Santa Ana is a middle-of-nowhere high-speed rail stop — fine for changing trains, but not a place to spend a day.)
Tickets cost €51.40.
The line from Antequera to Algeciras, built by the British in the 1880s, is particularly spectacular as it plunges through the mountains and down to the coast. Well worth the journey.
If you want to visit Gibraltar: there's no railway station in Gibraltar itself, but the train to Algeciras stops at San Roque-La Linea, from where it's about 14 km by bike to Gibraltar.
(A railway line from extending from San Roque to La Línea de la Concepción, right on the border with Gibraltar, was built in the 1970s, but no trains have ever run on it. You can still see the tracks, unused and unloved, along much of the 9 km route.)
Connecting routes
Joining this route
Coming from further north in Portugal: Spain to Portugal: Vigo - Porto - Lisbon - Algarve by train
Onwards from Cordoba
Heading further north-east, this route connects with Andalusia to Catalunya: Cordoba to Barcelona by train.