The average train between Barcelona and Florence takes 24h 9m and the fastest train takes 23h 40m. The train service runs several times per day from Barcelona to Florence. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Trains run twice daily between Barcelona and Florence. The earliest departure is at 9:26 AM in the morning, and the last departure from Barcelona is at 4:24 PM which arrives into Florence at 4:04 PM. All services require a transfer at Valence Tgv Rhone-Alpes Sud and take an average of 24h 9m. The schedules shown below are for the next available departures.
Arrives next day



24h 38m • 3 changes
Arrives next day



23h 40m • 3 changes
Arrives next day



24h 38m • 3 changes
Arrives next day



23h 40m • 3 changes
Arrives next day



24h 38m • 3 changes
Arrives next day



23h 40m • 3 changes
Arrives next day



24h 38m • 3 changes
Arrives next day



23h 40m • 3 changes
Want to know about travelling from Barcelona to Florence? 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 train from Barcelona to Florence. However, there are services departing from Barcelona station and arriving at Florence station via Valence Tgv Rhone-Alpes Sud. The journey, including transfers, takes approximately 24h 9m.
Barcelona to Florence train services, operated by TGV inOui, depart from Barcelona-Sants station.
Barcelona to Florence train services, operated by TGV inOui, arrive at Firenze S.M.N. station.
Book your Barcelona to Florence train tickets online with TGV inOui, Zou! Lignes Express Régionales and 3 other operators.
The distance between Barcelona and Florence is 788.6 km. The road distance is 1,345 km.
You can take a train from Barcelona-Sants to Firenze S.M.N. via Valence Tgv Rhone-Alpes Sud, Chambery Challes Les Eaux, and Torino Porta Susa in around 13h 46m.