The average bus between Porto and Madrid-Puerta de Atocha-Almudena Grandes takes 7h 42m and the fastest bus takes 6h 55m. The bus service runs several times per day from Porto to Madrid-Puerta de Atocha-Almudena Grandes. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Buses run 3 times a day between Porto and Madrid-Puerta de Atocha-Almudena Grandes. The earliest departure is at 1:50 AM at night, and the last departure from Porto is at 10:00 PM which arrives into Madrid-Puerta de Atocha-Almudena Grandes at 6:45 AM. All services require a transfer at Madrid, Estación Sur De Autobuses and take an average of 7h 42m. The schedules shown below are for the next available departures.

6h 55m • 1 change

9h 17m • 1 change
Arrives next day

8h 45m • 1 change

6h 55m • 1 change

9h 17m • 1 change
Arrives next day

8h 45m • 1 change
Want to know about travelling from Porto to Madrid-Puerta de Atocha-Almudena Grandes? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct bus from Porto to Madrid-Puerta de Atocha-Almudena Grandes. However, there are services departing from Porto station and arriving at Madrid-Puerta de Atocha-Almudena Grandes station via Estación Sur de Autobuses. The journey, including transfers, takes approximately 7h 42m.
Porto to Madrid-Puerta de Atocha-Almudena Grandes bus services, operated by Gipsyy Portugal, depart from Porto - Terminal Intermodal de Campanhã station.
Porto to Madrid-Puerta de Atocha-Almudena Grandes bus services, operated by Gipsyy Portugal, arrive at Estación Sur de Autobuses station.
The distance between Porto and Madrid-Puerta de Atocha-Almudena Grandes is 422.5 km. The road distance is 560 km.
BlaBlaCar Bus operates a bus from Porto - Terminal Intermodal de Campanhã to Estación Sur de Autobuses twice daily. Tickets cost €45–90 and the journey takes 6h 40m. Gipsyy Portugal also services this route twice daily.