There are 4 ways to get from Barcelona to Altafulla by train, bus, taxi 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.
Train • 57 min
$9 - $19
3 alternative options
Bus • 1 h 16 min
$10 - $15
Taxi • 58 min
$110 - $140
Drive • 58 min
$10 - $15
Questions & Answers
The cheapest way to get from Barcelona to Altafulla is to drive which costs 8€ - 13€ and takes 58 min.
The quickest way to get from Barcelona to Altafulla is to train which costs 8€ - 17€ and takes 57 min.
Yes, there is a direct bus departing from Barcelona and arriving at Altafulla. Services depart every three hours, and operate every day. The journey takes approximately 1 h 16 min.
Yes, there is a direct train departing from Barcelona Sants and arriving at Altafulla-Tamarit. Services depart every 30 minutes, and operate every day. The journey takes approximately 57 min.
The distance between Barcelona and Altafulla is 72 km. The road distance is 85.7 km.
The best way to get from Barcelona to Altafulla without a car is to train which takes 57 min and costs 8€ - 17€.
The train from Barcelona Sants to Altafulla-Tamarit takes 57 min including transfers and departs every 30 minutes.
Barcelona to Altafulla bus services, operated by Empresa Plana, depart from Barcelona station.
Barcelona to Altafulla train services, operated by Spanish Railways (RENFE), depart from Barcelona Sants station.
The best way to get from Barcelona to Altafulla is to train which takes 57 min and costs 8€ - 17€. Alternatively, you can bus, which costs 8€ - 13€ and takes 1 h 16 min.
What companies run services between Barcelona, Spain and Altafulla, Spain?
Spanish Railways (RENFE) operates a train from Barcelona to Altafulla every 30 minutes. Tickets cost $9 - $19 and the journey takes 57 min. Alternatively, Empresa Plana operates a bus from Barcelona to Altafulla every 3 hours. Tickets cost $10 - $15 and the journey takes 1 h 16 min.
Based in Madrid, Renfe is a state-owned train operator, that connects cities across Spain and neighbouring countries including Portugal, France, Germany, Switzerland, and the Netherlands. Renfe’s extensive network means most destinations offer multiple trains a day, with the most popular routes normally offering a train each hour. Locally known as AVE, the high-speed trains can reach speeds of up to 350km/h, making travel between major cities very efficient. Comfort is key in a Renfe train, with seats with footrests in all three classes of travel: Standard, Club and First. Each seat has an individual light, a pull-down table and an electrical outlet for in Club and First classes. There is free WiFi for first class passengers and for those with a + Renfe card.
Train from Barcelona Sants to Altafulla-Tamarit
- Ave. Duration
- 57 min
- Every 30 minutes
- Estimated price
- $9 - $19
Want to know more about travelling around Spain
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
Train travel in Spain: A guide to Renfe
Top tips on how to best navigate the nation by train, from Alicante to Zaragoza
What are the different types of Renfe trains in Spain?
A simple guide to the different trains, routes and facilities, so you can identify which service is right for you.
More Questions & Answers
Barcelona to Altafulla bus services, operated by Empresa Plana, arrive at Altafulla station.
Barcelona to Altafulla train services, operated by Spanish Railways (RENFE), arrive at Altafulla-Tamarit station.
Yes, the driving distance between Barcelona to Altafulla is 86 km. It takes approximately 58 min to drive from Barcelona to Altafulla.
Book your Barcelona to Altafulla train tickets online with Loco2.
There are 1734+ hotels available in Altafulla. Prices start at $60 USD per night.