There are 9 ways to get from Madrid to Ulm by plane, train, train (Renfe, Ouigo, TGV), bus, car, or ferry
Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.
Fly to Munich International Airport, train
best- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Munich International Airport (MUC)plane MAD - MUC
- Take the train from München Hbf to Ulm Hauptbahnhoftrain
6h 52m€116–348Fly to Frankfurt, train
cheapest- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Frankfurt (FRA)plane MAD - FRA
- Take the train from Frankfurt to Ulm Hauptbahnhoftrain
7h 22m€105–422Train
- Take the train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Santstrain Ave
- Take the train from Barcelona-Sants to Paris Gare De Lyontrain Tgv
- Take the train from Paris Gare De Lyon to Ulm Hbftrain Tgv
16h 46m€419–746Bus
- Take the bus from Estación Sur de Autobuses to Karlsruhe - Central Station South Sidebus BlaBlaCar Bus
- Take the bus from Karlsruhe central train station to Ulmbus FlixBus N1135 / ...
30h 3m€181–322Drive 1,747.8 km
- Drive from Madrid to Ulmcar 1,747.8 km
17h 59m€274–395Fly to Stuttgart Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Stuttgart Airport (STR)plane MAD - STR
- Take the train from Wendlingen to Ulm Hauptbahnhoftrain
8h 19m€110–247Fly to Zurich Airport, train, ferry
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Zurich Airport (ZRH)plane MAD - ZRH
- Take the train from Zürich Flughafen to Romanshorntrain
- Take the ferry from Romanshorn Autoquai to Friedrichshafen Faehreferry
- Take the train from Friedrichsh. Stadtbahnhof to Ulm Hauptbahnhoftrain
8h 53m€108–392Fly to Strasbourg International Airport, train
- Fly from Adolfo Suárez Madrid–Barajas Airport (MAD) to Strasbourg International Airport (SXB)plane MAD - SXB
- Take the train from Strasbourg to Stuttgart Hbftrain
- Take the train from Hauptbahnhof to Ulm Hauptbahnhoftrain
7h 58m€129–460Bus via Milan
- Take the bus from Madrid to Milanbus FlixBus N1138
- Take the bus from Milano, Autostazione Lampugnano to Ulmbus N77
31h 25m€171–280
Madrid to Ulm by train
Questions & Answers
The cheapest way to get from Madrid to Ulm is to fly and train which costs €110 - €250 and takes 8h 19m.
The fastest way to get from Madrid to Ulm is to fly and train which takes 6h 52m and costs €110 - €350.
No, there is no direct bus from Madrid to Ulm. However, there are services departing from Estación Sur de Autobuses and arriving at Ulm via Karlsruhe central train station. The journey, including transfers, takes approximately 30h 3m.
No, there is no direct train from Madrid to Ulm. However, there are services departing from Madrid-Puerta de Atocha-Almudena Grandes and arriving at Ulm Hbf via Barcelona-Sants and Paris Gare De Lyon. The journey, including transfers, takes approximately 16h 46m.
The distance between Madrid and Ulm is 1692 km. The road distance is 1747.8 km.
The best way to get from Madrid to Ulm without a car is to train which takes 16h 46m and costs €410 - €750.
It takes approximately 6h 52m to get from Madrid to Ulm, including transfers.
Madrid to Ulm bus services, operated by BlaBlaCar Bus, depart from Estación Sur de Autobuses station.
Madrid to Ulm train services, operated by Renfe AVE, depart from Madrid-Puerta de Atocha-Almudena Grandes station.
The best way to get from Madrid to Ulm is to train which takes 16h 46m and costs €410 - €750. Alternatively, you can bus, which costs €180 - €330 and takes 30h 3m.
What companies run services between Madrid, Spain and Ulm, Germany?
You can take a train from Madrid-Puerta de Atocha-Almudena Grandes to Ulm Hbf via Barcelona-Sants and Paris Gare De Lyon in around 16h 46m. Alternatively, you can take a bus from Estación Sur de Autobuses to Ulm via Karlsruhe central train station in around 30h 3m.
- Website
- iberia.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Munich International Airport
- Ave. Duration
- 2h 35m
- When
- Every day
- Estimated price
- €80–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Frankfurt
- Ave. Duration
- 2h 45m
- When
- Every day
- Estimated price
- €75–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport
- Ave. Duration
- 2h 20m
- When
- Every day
- Estimated price
- €65–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport via Barcelona
- Ave. Duration
- 5h
- When
- Monday and Friday
- Estimated price
- €85–240
Flights from Adolfo Suárez Madrid–Barajas Airport to Strasbourg International Airport
- Ave. Duration
- 2h 15m
- When
- Monday
- Estimated price
- €130–220
- Website
- vueling.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Munich International Airport
- Ave. Duration
- 2h 35m
- When
- Every day
- Estimated price
- €80–180
Flights from Adolfo Suárez Madrid–Barajas Airport to Frankfurt
- Ave. Duration
- 2h 45m
- When
- Every day
- Estimated price
- €75–160
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport
- Ave. Duration
- 2h 20m
- When
- Every day
- Estimated price
- €65–170
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport via Barcelona
- Ave. Duration
- 5h
- When
- Monday and Friday
- Estimated price
- €85–240
Flights from Adolfo Suárez Madrid–Barajas Airport to Strasbourg International Airport
- Ave. Duration
- 2h 15m
- When
- Monday
- Estimated price
- €130–220
- Website
- lufthansa.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Munich International Airport
- Ave. Duration
- 2h 32m
- When
- Every day
- Estimated price
- €65–340
Flights from Adolfo Suárez Madrid–Barajas Airport to Stuttgart Airport via Munich International Airport
- Ave. Duration
- 4h 41m
- When
- Every day
- Estimated price
- €75–380
Flights from Adolfo Suárez Madrid–Barajas Airport to Stuttgart Airport via Zurich Airport
- Ave. Duration
- 4h 40m
- When
- Tuesday to Sunday
- Estimated price
- €60–270
Flights from Adolfo Suárez Madrid–Barajas Airport to Frankfurt
- Ave. Duration
- 2h 36m
- When
- Every day
- Estimated price
- €75–320
- Website
- aireuropa.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Munich International Airport
- Ave. Duration
- 2h 35m
- When
- Every day
- Estimated price
- €90–200
Flights from Adolfo Suárez Madrid–Barajas Airport to Frankfurt
- Ave. Duration
- 2h 40m
- When
- Every day
- Estimated price
- €80–200
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport
- Ave. Duration
- 2h 15m
- When
- Every day
- Estimated price
- €65–200
- Website
- swiss.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Stuttgart Airport via Zurich Airport
- Ave. Duration
- 6h 35m
- When
- Every day
- Estimated price
- €60–330
Flights from Adolfo Suárez Madrid–Barajas Airport to Zurich Airport
- Ave. Duration
- 2h 17m
- When
- Every day
- Estimated price
- €75–200
- Website
- lufthansa-city.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Munich International Airport
- Ave. Duration
- 2h 32m
- When
- Every day
- Estimated price
- €65–340
- Website
- eurowings.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Stuttgart Airport via Valencia
- Ave. Duration
- 4h 5m
- When
- Every day
- Estimated price
- €100–240
Flights from Adolfo Suárez Madrid–Barajas Airport to Stuttgart Airport via Bilbao
- Ave. Duration
- 4h 20m
- When
- Monday, Wednesday, Friday, and Sunday
- Estimated price
- €100–240
- Website
- volotea.com
Flights from Adolfo Suárez Madrid–Barajas Airport to Strasbourg International Airport via Bordeaux
- Ave. Duration
- 4h 15m
- When
- Monday
- Estimated price
- €95–280
Flights from Adolfo Suárez Madrid–Barajas Airport to Strasbourg International Airport via Montpellier
- Ave. Duration
- 5h 30m
- When
- Friday
- Estimated price
- €95–280
- Phone
- +49 30 2970
- Website
- Deutsche Bahn Intercity (DB IC)
Train from München Hbf to Ulm Hauptbahnhof
- Ave. Duration
- 1h 11m
- Frequency
- Every 30 minutes
- Estimated price
- €26–120
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Frankfurt to Ulm Hauptbahnhof
- Ave. Duration
- 2h 4m
- Frequency
- Hourly
- Estimated price
- €45–220
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Friedrichsh. Stadtbahnhof to Ulm Hauptbahnhof
- Ave. Duration
- 1h 11m
- Frequency
- Every 4 hours
- Estimated price
- €18–85
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Strasbourg to Stuttgart Hbf
- Ave. Duration
- 1h 30m
- Frequency
- Every 4 hours
- Estimated price
- €28–130
- Website
- Deutsche Bahn Intercity (DB IC)
Train from Hauptbahnhof to Ulm Hauptbahnhof
- Ave. Duration
- 43 min
- Frequency
- Every 30 minutes
- Estimated price
- €16–75
- Website
- Deutsche Bahn Intercity (DB IC)
- Phone
- +49 821 899 825 44
- servus@arverio.de
- Website
- Arverio Bayern GmbH
Train from München Hbf to Ulm Hauptbahnhof
- Ave. Duration
- 2h 19m
- Frequency
- Every 2 hours
- Schedules at
- Arverio Bayern GmbH
- Phone
- +31 30 751 5155
- Website
- Nederlandse Spoorwegen (NS)
Train from München Hbf to Ulm Hauptbahnhof
- Ave. Duration
- 1h 11m
- Frequency
- Once daily
- Estimated price
- €16–35
- Website
- Nederlandse Spoorwegen (NS)
Train from Frankfurt to Ulm Hauptbahnhof
- Ave. Duration
- 2h 5m
- Frequency
- 5 times a day
- Estimated price
- €29–65
- Website
- Nederlandse Spoorwegen (NS)
Train from Hauptbahnhof to Ulm Hauptbahnhof
- Ave. Duration
- 43 min
- Frequency
- 4 times a day
- Estimated price
- €9–21
- Website
- Nederlandse Spoorwegen (NS)
Rome2Rio's guide to Renfe AVE
Contact DetailsContact Details
- Phone
- +34 91 232 03 20
- Website
- Renfe AVE
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 22m
- Frequency
- Every 30 minutes
- Estimated price
- €95–170
- Website
- Renfe AVE
- Phone
- +34 900 926 851
- atencion.cliente@iryo.eu
- Website
- Iryo
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 24m
- Frequency
- Hourly
- Estimated price
- €60–130
- Website
- Iryo
- Phone
- +34 900 759 781
- Website
- Ouigo
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 23m
- Frequency
- Every 2 hours
- Estimated price
- €55–100
- Website
- Ouigo
Rome2Rio's guide to Renfe Viajeros
Contact DetailsContact Details
- Phone
- +34 91 232 03 20
- Website
- Renfe Viajeros
Train from Madrid-Puerta de Atocha-Almudena Grandes to Barcelona-Sants
- Ave. Duration
- 3h 29m
- Frequency
- 4 times a day
- Estimated price
- €80–130
- Website
- Renfe Viajeros
- Phone
- +33 1 84 94 36 35
- Website
- TGV inOui
Train from Barcelona-Sants to Paris Gare De Lyon
- Ave. Duration
- 6h 46m
- Frequency
- 5 times a day
- Estimated price
- €220–350
- Website
- TGV inOui
Train from Paris Gare De Lyon to Ulm Hbf
- Ave. Duration
- 4h 38m
- Frequency
- Twice a week
- Estimated price
- €140–230
- Website
- TGV inOui
Train from Strasbourg to Stuttgart Hbf
- Ave. Duration
- 1h 30m
- Frequency
- Every 4 hours
- Estimated price
- €30–55
- Website
- TGV inOui
Train from Hauptbahnhof to Ulm Hauptbahnhof
- Ave. Duration
- 1h 1m
- Frequency
- Twice daily
- Estimated price
- €18–29
- Website
- TGV inOui
- Phone
- +49 30 2970
- Website
- Deutsche Bahn Regio (DB Regional)
Train from Wendlingen to Ulm Hauptbahnhof
- Ave. Duration
- 27 min
- Frequency
- Hourly
- Estimated price
- €14–25
- Website
- Deutsche Bahn Regio (DB Regional)
Train from Friedrichsh. Stadtbahnhof to Ulm Hauptbahnhof
- Ave. Duration
- 1h 8m
- Frequency
- Every 30 minutes
- Estimated price
- €25–45
- Website
- Deutsche Bahn Regio (DB Regional)
Train from Hauptbahnhof to Ulm Hauptbahnhof
- Ave. Duration
- 1h 6m
- Frequency
- Hourly
- Estimated price
- €21–40
- Website
- Deutsche Bahn Regio (DB Regional)
Train from Zürich Flughafen to Romanshorn
- Ave. Duration
- 57 min
- Frequency
- Hourly
- Estimated price
- €27–80
- Website
- Swiss Federal Railways (SBB CFF FFS)
- Phone
- +41 71 554 00 00
- Website
- Thurbo
Train from Zürich Flughafen to Romanshorn
- Ave. Duration
- 58 min
- Frequency
- 6 times a week
- Estimated price
- €10–21
- Schedules at
- Thurbo
- 2nd Class Ticket
- €10–14
- 1st Class Ticket
- €17–21
- Phone
- +49 (0) 7531 915109
- info@sbb-deutschland.de
- Website
- SBB GmbH
Train from Zürich Flughafen to Romanshorn
- Ave. Duration
- 58 min
- Frequency
- Once daily
- Estimated price
- €7–10
- Schedules at
- SBB GmbH
- Phone
- +49 731 1550-0
- servicecenter@dbregiobus-rab.de
- Website
- DB ZugBus Regionalverkehr Alb-Bodensee GmbH (RAB)
Train from Friedrichsh. Stadtbahnhof to Ulm Hauptbahnhof
- Ave. Duration
- 1h 23m
- Frequency
- 5 times a week
- Estimated price
- €14–18
- Schedules at
- DB ZugBus Regionalverkehr Alb-Bodensee GmbH (RAB)
Train from Hauptbahnhof to Ulm Hauptbahnhof
- Ave. Duration
- 1h 20m
- Frequency
- Twice a week
- Estimated price
- €12–16
- Schedules at
- DB ZugBus Regionalverkehr Alb-Bodensee GmbH (RAB)
- Phone
- +49 711 400 534 44
- stuttgart@arverio.de
- Website
- Arverio Baden-Württemberg GmbH
Train from Hauptbahnhof to Ulm Hauptbahnhof
- Ave. Duration
- 1h 29m
- Frequency
- Hourly
- Estimated price
- €15–21
- Schedules at
- Arverio Baden-Württemberg GmbH
- Phone
- +49 711 400 534 44
- stuttgart@arverio.de
- Website
- Arverio Baden-Württemberg
Train from Hauptbahnhof to Ulm Hauptbahnhof
- Ave. Duration
- 1h 40m
- Frequency
- Every 30 minutes
- Estimated price
- €15–29
- Schedules at
- Arverio Baden-Württemberg
- 2nd Class Ticket
- €15–19
- 1st Class Ticket
- €20–29
- Phone
- +43 1 89900
- service@westbahn.at
- Website
- Westbahn
Train from Hauptbahnhof to Ulm Hauptbahnhof
- Ave. Duration
- 59 min
- Frequency
- 5 times a day
- Estimated price
- €16–29
- Website
- Westbahn
- Phone
- +3 318 576 2228
- Website
- BlaBlaCar Bus
Bus from Estación Sur de Autobuses to Karlsruhe - Central Station South Side
- Ave. Duration
- 26h 15m
- Frequency
- Once daily
- Estimated price
- €160–300
- Website
- BlaBlaCar Bus
Bus from Karlsruhe central train station to Ulm
- Ave. Duration
- 2h 5m
- Frequency
- Twice daily
- Estimated price
- €14–26
- Website
- BlaBlaCar Bus
- Phone
- +49 30 300 137 300
- service@flixbus.com
- Website
- Flixbus
Bus from Karlsruhe central train station to Ulm
- Ave. Duration
- 3h 10m
- Frequency
- Hourly
- Estimated price
- €13–22
- Website
- Flixbus
Bus from Madrid to Milan
- Ave. Duration
- 23h 5m
- Frequency
- Once daily
- Estimated price
- €130–220
- Website
- Flixbus
Bus from Milano, Autostazione Lampugnano to Ulm
- Ave. Duration
- 7h 20m
- Frequency
- Once daily
- Estimated price
- €35–60
- Website
- Flixbus
- Phone
- +421 55 72 896 16
- interbus.sk@gmail.com
- Website
- interbus.sk
Bus from Karlsruhe central train station to Ulm
- Ave. Duration
- 2h 25m
- Frequency
- Twice daily
- Schedules at
- interbus.sk
- Book at
- interbus.sk
- Phone
- +49 (0) 7531 3640-0
- info@bsb.de
- Website
- bsb.de
Ferry from Romanshorn Autoquai to Friedrichshafen Faehre
- Ave. Duration
- 46 min
- Frequency
- Hourly
- Estimated price
- €9–12
- Schedules at
- bsb.de
- Phone
- +41 71 466 78 88
- info@sbsag.ch
- Website
- Schweizerische Bodensee-Schifffahrt Ag
Ferry from Romanshorn Autoquai to Friedrichshafen Faehre
- Ave. Duration
- 46 min
- Frequency
- Every 4 hours
- Schedules at
- Schweizerische Bodensee-Schifffahrt Ag
Want to know more about travelling around Germany
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 Spain: A guide to Renfe
Read the travel guide
More Questions & Answers
Madrid to Ulm bus services, operated by BlaBlaCar Bus, arrive at Karlsruhe - Central Station South Side.
Madrid to Ulm train services, operated by Renfe AVE, arrive at Barcelona-Sants station.
Yes, the driving distance between Madrid to Ulm is 1748 km. It takes approximately 17h 59m to drive from Madrid to Ulm.
Book your Madrid to Ulm train tickets online with Omio.
Book your Madrid to Ulm bus tickets online with Omio.
There are 652+ hotels available in Ulm.
































































