The average bus between Milan and Puigcerdà takes 17h 36m and the fastest bus takes 14h 46m. The bus service runs several times per day from Milan to Puigcerdà. 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 twice daily between Milan and Puigcerdà. The earliest departure is at 6:50 PM in the evening, and the last departure from Milan is at 10:00 PM which arrives into Puigcerdà at 7:01 PM. All services require a transfer at Lampugnano and take an average of 17h 36m. The schedules shown below are for the next available departures.
Arrives next day

14h 46m • 1 changeArrives next day

21h 1m • 1 changeArrives next day

14h 46m • 1 changeArrives next day

21h 1m • 1 changeArrives next day

14h 46m • 1 changeArrives next day

21h 1m • 1 changeWant to know about travelling from Milan to Puigcerdà? 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 Milan to Puigcerdà. However, there are services departing from Milan station and arriving at Puigcerdà station via Perpignan. The journey, including transfers, takes approximately 17h 36m.
Milan to Puigcerdà bus services, operated by Itabus S.p.A., depart from Milan station.
Milan to Puigcerdà bus services, operated by Itabus S.p.A., arrive at BOURG-MADAME - La Poste station.
The distance between Milan and Puigcerdà is 671.7 km. The road distance is 942 km.
You can take a subway from Duomo M1 to BOURG-MADAME - La Poste via Lampugnano, Milan, and PERPIGNAN - Gare Routière Bd St Assiscle in around 16h 10m.