There are 8 ways to get from Mainz to Porto by plane, train, bus, train (TGV, Renfe), or car
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly from Frankfurt
best- Fly from Frankfurt (FRA) to Francisco De Sá Carneiro Airport (OPO)plane FRA - OPO
5h 46m€104–295Bus to Hahn, fly
cheapest- Take the bus from Mainz Short-term parking lot Am Schlag to Frankfurt Hahn Airportbus
- Fly from Hahn (HHN) to Francisco De Sá Carneiro Airport (OPO)plane HHN - OPO
6h 37m€84–243Train, bus via Paris
- Take the train from Mainz, Hauptbahnhof to Saarbrücken Hbftrain Re3
- Take the train from Saarbrücken Hbf to Paris l'Esttrain 82
- Take the bus from Paris Dauphine to Porto - Casa da Músicabus
29h 38m€152–364Train
- Take the train from Frankfurt to Bruxelles Miditrain 79
- Take the train from Brussel-Zuid / Bruxelles-Midi to Lyon Part Dieutrain Tgv
- Take the train from Lyon Part Dieu to Barcelona-Santstrain
- Take the train from Barcelona-Sants to Porrinotrain Alv
- Take the train from Porrino to Porto Campanhatrain Ic
32h 17m€280–615Drive 2,018.2 km
- Drive from Mainz to Portocar 2,018.2 km
20h 8m€311–449Train to Cologne Bonn Airport, fly
- Take the train from Frankfurt to Siegburg Bftrain
- Fly from Cologne Bonn Airport (CGN) to Francisco De Sá Carneiro Airport (OPO)plane CGN - OPO
7h 20m€109–387Bus
- Take the bus from Mainz central train station to Portobus FlixBus N1151
34h 55m€110–300Train, bus
- Take the train from Mainz, Hauptbahnhof to Idar-Oberstein, Bahnhoftrain Re3
- Take the bus from Idar-Oberstein, Bahnhof to Trier, Hauptbahnhofbus 800
- Take the train from Trier, Hauptbahnhof to Luxembourg, Gare Centraletrain Re / ...
- Take the bus from Luxembourg - P+R Bouillon to Porto - Hospital de São Joãobus
36h 16m
Mainz to Porto by train
Questions & Answers
The cheapest way to get from Mainz to Porto is to bus and fly which costs €80 - €250 and takes 6h 37m.
The fastest way to get from Mainz to Porto is to fly which takes 5h 46m and costs €100 - €300.
Yes, there is a direct bus departing from Mainz central train station station and arriving at Porto. Services depart three times a week, and operate Tuesday, Thursday and Saturday. The journey takes approximately 34h 55m.
No, there is no direct train from Mainz to Porto. However, there are services departing from Mainz, Römisches Theater and arriving at Porto Campanha via Frankfurt, Brussel-Zuid / Bruxelles-Midi, Lyon Part Dieu, Barcelona-Sants and Porrino. The journey, including transfers, takes approximately 32h 17m.
The distance between Mainz and Porto is 1693 km. The road distance is 2018.2 km.
The best way to get from Mainz to Porto without a car is to train and bus via Paris which takes 29h 38m and costs €150 - €370.
It takes approximately 5h 46m to get from Mainz to Porto, including transfers.
Mainz to Porto bus services, operated by FlixBus, depart from Mainz central train station.
Mainz to Porto train services, operated by Deutsche Bahn Intercity (DB IC), depart from Frankfurt station.
The best way to get from Mainz to Porto is to fly which takes 5h 46m and costs €100 - €300. Alternatively, you can train, which costs €280 - €650 and takes 32h 17m, you could also bus, which costs €110 - €300 and takes 34h 55m.
What companies run services between Mainz, Germany and Porto, Portugal?
Lufthansa and TUIfly fly from Frankfurt (FRA) to Francisco De Sá Carneiro Airport (OPO) twice daily. Alternatively, you can take a train from Mainz, Römisches Theater to Porto Campanha via Frankfurt, Bruxelles Midi, Brussel-Zuid / Bruxelles-Midi, Lyon Part Dieu, Barcelona-Sants, and Porrino in around 32h 17m.
- Website
- ryanair.com
Flights from Hahn to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 45m
- When
- Monday and Friday
- Estimated price
- €65–220
Flights from Hahn to Francisco De Sá Carneiro Airport via London Stansted
- Ave. Duration
- 5h 5m
- When
- Wednesday
- Estimated price
- €65–220
Flights from Hahn to Francisco De Sá Carneiro Airport via Barcelona
- Ave. Duration
- 6h 5m
- When
- Thursday and Sunday
- Estimated price
- €65–220
Flights from Cologne Bonn Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 40m
- When
- Monday, Thursday, and Saturday
- Estimated price
- €65–230
Flights from Cologne Bonn Airport to Francisco De Sá Carneiro Airport via London Stansted
- Ave. Duration
- 5h 5m
- When
- Monday and Thursday
- Estimated price
- €65–230
Flights from Cologne Bonn Airport to Francisco De Sá Carneiro Airport via Valencia
- Ave. Duration
- 5h 20m
- When
- Monday and Friday
- Estimated price
- €65–230
- Website
- lufthansa.com
Flights from Frankfurt to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 45m
- When
- Every day
- Estimated price
- €130–210
- Website
- tui.com
Flights from Frankfurt to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 45m
- When
- Thursday
- Estimated price
- €110–320
- Website
- eurowings.com
Flights from Cologne Bonn Airport to Francisco De Sá Carneiro Airport
- Ave. Duration
- 2h 40m
- When
- Thursday
- Estimated price
- €65–260
- Website
- swiss.com
Flights from Cologne Bonn Airport to Francisco De Sá Carneiro Airport via Zurich
- Ave. Duration
- 5h 25m
- When
- Monday to Thursday
- Estimated price
- €75–320
- Phone
- +49 6731 999 27-27
- info@vlexx.de
- Website
- vlexx.de
Train from Mainz, Hauptbahnhof to Saarbrücken Hbf
- Ave. Duration
- 2h 16m
- Frequency
- Hourly
- Estimated price
- €29–45
- Schedules at
- vlexx.de
Train from Mainz, Hauptbahnhof to Idar-Oberstein, Bahnhof
- Ave. Duration
- 1h 30m
- Frequency
- Hourly
- Estimated price
- €17–25
- Schedules at
- vlexx.de
Rome2Rio's guide to Société Nationale des Chemins de fer Français (SNCF)
Contact Details
- Phone
- +33 1 84 94 36 35
- Website
- track.effiliation.com
Train from Saarbrücken Hbf to Paris l'Est
- Ave. Duration
- 1h 52m
- Frequency
- 4 times a day
- Estimated price
- €35–160
- Website
- https://track.effiliation.com/servlet/effi.redir?id_compteur=23007591&url=https%3A%2F%2Fwww.sncf-connect.com%2Fen-en%2F
- Phone
- +49 30 311 682904
- Website
- bahn.de
Train from Frankfurt to Bruxelles Midi
- Ave. Duration
- 2h 47m
- Frequency
- Every 4 hours
- Estimated price
- €40–130
- Website
- https://int.bahn.de/en
Train from Frankfurt to Siegburg Bf
- Ave. Duration
- 51 min
- Frequency
- Hourly
- Estimated price
- €25–80
- Website
- https://int.bahn.de/en
- Phone
- +33 1 84 94 36 35
- Website
- sncf-connect.com
Train from Brussel-Zuid / Bruxelles-Midi to Lyon Part Dieu
- Ave. Duration
- 3h 55m
- Frequency
- Every 4 hours
- Estimated price
- €70–240
- Website
- https://www.sncf-connect.com/en-en
- Phone
- +34 91 232 03 20
- Website
- renfe.com
Train from Lyon Part Dieu to Barcelona-Sants
- Ave. Duration
- 4h 48m
- Frequency
- Once daily
- Estimated price
- €50–75
- Website
- https://www.renfe.com/es/en
Train from Barcelona-Sants to Porrino
- Ave. Duration
- 13h 20m
- Frequency
- 3 times a week
- Estimated price
- €100–140
- Website
- https://www.renfe.com/es/en
Train from Porrino to Porto Campanha
- Ave. Duration
- 2h 3m
- Frequency
- Twice daily
- Estimated price
- €13–18
- Website
- https://www.renfe.com/es/en
- Phone
- +31 30 751 5155
- Website
- ns.nl
Train from Frankfurt to Siegburg Bf
- Ave. Duration
- 41 min
- Frequency
- Every 4 hours
- Estimated price
- €23–75
- Website
- https://www.ns.nl/en
- 2nd Class
- €23–35
- 1st Class
- €45–75
- Phone
- +352 24 89 24 89
- Website
- cfl.lu
Train from Trier, Hauptbahnhof to Luxembourg, Gare Centrale
- Ave. Duration
- 46 min
- Frequency
- Hourly
- Estimated price
- €12–19
- Website
- https://www.cfl.lu/en-gb
- 1st Class
- €12–19
- Phone
- 0621 8301200
- Website
- suewex.de
Train from Trier, Hauptbahnhof to Luxembourg, Gare Centrale
- Ave. Duration
- 1h 1m
- Frequency
- Once daily
- Estimated price
- €12–17
- Schedules at
- suewex.de
- Phone
- (+34) 988 225 288
- anpian@anpian.com
- Website
- anpian.com
Bus from Paris Dauphine to Porto - Casa da Música
- Ave. Duration
- 22h 56m
- Frequency
- 4 times a week
- Estimated price
- €85–160
- Schedules at
- anpian.com
- info@flibco.com
- Website
- flibco.com
Bus from Mainz Short-term parking lot Am Schlag to Frankfurt Hahn Airport
- Ave. Duration
- 1h 15m
- Frequency
- Every 2 hours
- Estimated price
- €17–20
- Website
- https://www.flibco.com/en
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- flixbus.fr
Bus from Mainz central train station to Porto
- Ave. Duration
- 34h 55m
- Frequency
- 3 times a week
- Estimated price
- €110–300
- Website
- https://www.flixbus.co.uk
- Phone
- +49 (6765) 270
- info@scherer-reisen.de
- Website
- scherer-reisen.de
Bus from Idar-Oberstein, Bahnhof to Trier, Hauptbahnhof
- Ave. Duration
- 1h 28m
- Frequency
- Hourly
- Schedules at
- vrminfo.de
- Phone
- (+351) 258 454 303
- info@barquense.com
- Website
- barquense.pt
Bus from Luxembourg - P+R Bouillon to Porto - Hospital de São João
- Ave. Duration
- 29h 48m
- Frequency
- Once a week
- Estimated price
- €90–120
- Schedules at
- barquense.pt
- Book at
- barquense.pt
Want to know more about travelling around Portugal
Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.
Related travel guides
Heading to Europe? Read this before you buy a Eurail Pass
Read the travel guide
5 delightfully under-the-radar French towns you need to visit
Read the travel guide
Train travel in France: A guide to SNCF
Read the travel guide
More Questions & Answers
Mainz to Porto bus services, operated by FlixBus, arrive at Porto station.
Porto is 1h behind Mainz. It is currently 4:24 AM in Mainz and 3:24 AM in Porto.
Mainz to Porto train services, operated by Deutsche Bahn Intercity (DB IC), arrive at Bruxelles Midi station.
Yes, the driving distance between Mainz to Porto is 2018 km. It takes approximately 20h 8m to drive from Mainz to Porto.
Book your Mainz to Porto bus tickets online with Omio and FlixBus.
There are 6204+ hotels available in Porto.

















































