pickthebus

Madrid ▸ Porto

Porto ▸ Madrid ⇄
2.8 a dayfastest 6h15☾ 2 overnight busesBlaBlaCar Bus, FlixBus🇪🇸 Spain → 🇵🇹 Portugal

Direct buses · no change

MadridSalamancaVilar FormosoGuardaViseuAveiroPorto· 421 km as the crow flies
  • 00:45 → 07:25
    FlixBus N1102 ☾ Overnight
    Madrid (South Bus Station) → Porto (TIC - Campanhã) · via Zamora, Bragança, Vila Real
    7h403 stops
    Runs: Mon, Tue, Sat, SunThe night the clocks change (Sun 25 Oct: 00:45 → 06:25)Book on FlixBus ↗
  • 10:00 → 17:40
    FlixBus 745
    Madrid (South Bus Station) → Porto (TIC - Campanhã) · via Salamanca, Vilar Formoso, Guarda, Viseu…
    8h405 stops
    Runs: Mon, Thu, Fri, Sat, Sun (some weeks)Book on FlixBus ↗
  • 14:10 → 19:25
    BlaBlaCar Bus
    Madrid - South Station → Porto - TIC Campanhã · via Salamanca
    6h151 stop
    Runs: Mon, Thu, Sat (some weeks)Book on BlaBlaCar Bus ↗
  • 23:30 → 06:30+1
    FlixBus N795 ☾ Overnight
    Madrid (South Bus Station) → Porto (TIC - Campanhã) · via Salamanca, Coimbra, Aveiro
    8h003 stops
    Runs: DailyThe night the clocks change (Sat 24 Oct: 23:30 → 05:30+1)Book on FlixBus ↗

Local times at each stop. Times from official open data: FlixBus (file of 11 Oct 2026) and BlaBlaCar Bus (file of 18 Oct 2026). Checked Sun 18 Oct 2026; they cover 18 Oct to 14 Nov 2026. Timetables change, so check with the operator before you travel. Contains FlixBus timetable data (FlixMobility, transport.data.gouv.fr), ODbL 1.0. Contains BlaBlaCar Bus timetable data (transport.data.gouv.fr), ODbL 1.0. How we build this.

Quick answers

Is there a direct bus from Madrid to Porto?

Yes. 2.8 a day on average, with BlaBlaCar Bus and FlixBus, no change of bus (18 Oct to 14 Nov 2026).

How long is the bus from Madrid to Porto?

The fastest takes 6h15; the slowest 8h40, for 421 km as the crow flies.

When do the buses leave?

The earliest leaves at 00:45 and the latest at 23:30, local time in Madrid. Not every bus runs every day: pick a date above.

Is there a night bus from Madrid to Porto?

Yes: 2 overnight departures in the timetable, for example 00:45 arriving 07:25.