There are 3 ways to get from Viljandi to Tallinn by train, bus, 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.
Viljandi to Tallinn by train
Questions & Answers
The cheapest way to get from Viljandi to Tallinn is to bus which costs €4 - €15 and takes 2h 15m.
The fastest way to get from Viljandi to Tallinn is to drive which takes 1h 45m and costs €24 - €35.
Yes, there is a direct bus departing from Viljandi bussijaam and arriving at Tallinna bussijaam. Services depart every four hours, and operate every day. The journey takes approximately 2h 15m.
Yes, there is a direct train departing from Viljandi and arriving at Tallinn. Services depart five times a day, and operate every day. The journey takes approximately 2h 6m.
The distance between Viljandi and Tallinn is 148 km. The road distance is 153.1 km.
The best way to get from Viljandi to Tallinn without a car is to train which takes 2h 6m and costs €8 - €14.
The train from Viljandi to Tallinn takes 2h 6m including transfers and departs five times a day.
Viljandi to Tallinn bus services, operated by Hansabuss AS, depart from Viljandi bussijaam station.
Viljandi to Tallinn train services, operated by Elron, depart from Viljandi station.
The best way to get from Viljandi to Tallinn is to train which takes 2h 6m and costs €8 - €14. Alternatively, you can bus, which costs €4 - €15 and takes 2h 15m.
What companies run services between Viljandi, Estonia and Tallinn, Estonia?
Elron operates a train from Viljandi to Tallinn 5 times a day. Tickets cost €8–14 and the journey takes 2h 6m. Alternatively, Hansabuss AS operates a bus from Viljandi bussijaam to Tallinna bussijaam 4 times a day. Tickets cost €11–15 and the journey takes 2h 15m. Two other operators also service this route.
Transport is disrupted due to the Russia-Ukraine war. Read more
- Phone
- +372 616 0245
- klienditugi@elron.ee
- Website
- elron.ee
Train from Viljandi to Tallinn
- Ave. Duration
- 2h 6m
- Frequency
- 5 times a day
- Estimated price
- €8–14
- Website
- https://elron.ee/en
- Express Train Ticket
- €9–14
- Phone
- +372 627 9080
- info@hansabuss.ee
- Website
- hansabuss.ee
Bus from Viljandi bussijaam to Tallinna bussijaam
- Ave. Duration
- 2h 15m
- Frequency
- 4 times a day
- Estimated price
- €11–15
- Website
- https://hansabuss.ee/en/
- Schedules at
- https://hansabuss.ee/en/liinireisid/commercial-lines/
- Phone
- +372 518 8493
- info@estonianlines.eu
- Website
- estonianlines.eu
Bus from Viljandi bussijaam to Tallinna bussijaam
- Ave. Duration
- 2h 10m
- Frequency
- Once daily
- Website
- https://www.estonianlines.eu/en/
- Phone
- +372 640 4000
- klienditugi@gobus.ee
- Website
- gobus.ee
Bus from Viljandi bussijaam to Tallinna bussijaam
- Ave. Duration
- 2h 15m
- Frequency
- Once daily
- Estimated price
- €4–7
- Website
- https://gobus.ee/en/
Want to know more about travelling around the world?
Rome2Rio's Travel Guide series provide vital information for the global traveller. Read our range of informative guides on popular transport routes and companies - including Travelling to and around Russia for the 2018 FIFA World Cup, Thanksgiving 2018: How to travel stress-free, and 5 incredible day trips from Florence by train - to help you get the most out of your next trip.
More Questions & Answers
Viljandi to Tallinn bus services, operated by Hansabuss AS, arrive at Tallinna bussijaam station.
Viljandi to Tallinn train services, operated by Elron, arrive at Tallinn station.
Yes, the driving distance between Viljandi to Tallinn is 153 km. It takes approximately 1h 45m to drive from Viljandi to Tallinn.
There are 1119+ hotels available in Tallinn.


















