There are 6 ways to get from Viljandi to Haapsalu by bus, train, 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.
Bus
best- Take the bus from Viljandi bussijaam to Lihulabus 149
- Take the bus from Lihula to Veekeskusbus L25 / ...
3h 53m€7–9Train, bus via Tallinn
- Take the train from Viljandi to Tallinntrain Re23 / ...
- Take the bus from Vana-Pääsküla to Niinebus 717 / ...
4h 42m€13–27Drive 177.8 km
- Drive from Viljandi to Haapsalucar 177.8 km
2h 39m€29–41Train, bus
- Take the train from Viljandi to Türitrain Re23 / ...
- Take the bus from Türi bussijaam to Niinebus 153
3h 57m€11–15Bus via Pärnu
- Take the bus from Viljandi bussijaam to Pärnu bussijaambus 145 / ...
- Take the bus from Pärnu bussijaam to Niinebus 321
4h 41m€9–21Bus via Pärnu #2
- Take the bus from Ugala to Pärnu bussijaambus 371
- Take the bus from Pärnu bussijaam to Niinebus 321
5h 19m
Viljandi to Haapsalu by bus
Questions & Answers
The cheapest way to get from Viljandi to Haapsalu is to bus which costs €6 - €10 and takes 3h 53m.
The fastest way to get from Viljandi to Haapsalu is to drive which takes 2h 39m and costs €28 - €45.
No, there is no direct bus from Viljandi to Haapsalu. However, there are services departing from Viljandi bussijaam and arriving at Veekeskus via Lihula. The journey, including transfers, takes approximately 3h 53m.
The distance between Viljandi and Haapsalu is 203 km. The road distance is 177.8 km.
The best way to get from Viljandi to Haapsalu without a car is to bus which takes 3h 53m and costs €6 - €10.
It takes approximately 3h 53m to get from Viljandi to Haapsalu, including transfers.
Viljandi to Haapsalu bus services, operated by Go Bus AS, depart from Viljandi bussijaam station.
Viljandi to Haapsalu bus services, operated by Go Bus AS, arrive at Lihula station.
Yes, the driving distance between Viljandi to Haapsalu is 178 km. It takes approximately 2h 39m to drive from Viljandi to Haapsalu.
Book your Viljandi to Haapsalu bus tickets online with Omio.
What companies run services between Viljandi, Estonia and Haapsalu, Estonia?
You can take a bus from Viljandi bussijaam to Veekeskus via Lihula in around 3h 53m.
- Phone
- +372 616 0245
- [email protected]
- Website
- elron.ee
Train from Viljandi to Tallinn
- Ave. Duration
- 2h 6m
- Frequency
- Every 4 hours
- Estimated price
- €8–14
- Website
- https://elron.ee/en
- Express Train Ticket
- €9–14
Train from Viljandi to Türi
- Ave. Duration
- 42 min
- Frequency
- Every 4 hours
- Estimated price
- €3–6
- Website
- https://elron.ee/en
- Express Train Ticket
- €3–6
- Phone
- +372 640 4000
- [email protected]
- Website
- gobus.ee
Bus from Viljandi bussijaam to Lihula
- Ave. Duration
- 2h 10m
- Frequency
- Once daily
- Estimated price
- €4–7
- Website
- https://gobus.ee/en/
Bus from Lihula to Veekeskus
- Ave. Duration
- 43 min
- Frequency
- 5 times a day
- Estimated price
- €2–3
- Website
- https://gobus.ee/en/
Bus from Vana-Pääsküla to Niine
- Ave. Duration
- 1h 6m
- Frequency
- Every 4 hours
- Estimated price
- €3–4
- Website
- https://gobus.ee/en/
Bus from Viljandi bussijaam to Pärnu bussijaam
- Ave. Duration
- 1h 25m
- Frequency
- Twice daily
- Estimated price
- €3–5
- Website
- https://gobus.ee/en/
- Phone
- +372 680 0909
- [email protected]
- Website
- luxexpress.eu
Bus from Vana-Pääsküla to Niine
- Ave. Duration
- 1h 13m
- Frequency
- 5 times a day
- Estimated price
- €5–11
- Website
- https://luxexpress.eu/en/
Bus from Viljandi bussijaam to Pärnu bussijaam
- Ave. Duration
- 1h 30m
- Frequency
- Every 4 hours
- Estimated price
- €6–12
- Website
- https://luxexpress.eu/en/
- Phone
- +372 502 5996
- [email protected]
- Website
- reis.ee
Bus from Vana-Pääsküla to Niine
- Ave. Duration
- 1h 25m
- Frequency
- Once daily
- Estimated price
- €4–7
- Schedules at
- reis.ee
Bus from Türi bussijaam to Niine
- Ave. Duration
- 2h 15m
- Frequency
- Once daily
- Estimated price
- €7–10
- Schedules at
- reis.ee
Bus from Pärnu bussijaam to Niine
- Ave. Duration
- 2h 11m
- Frequency
- Once daily
- Estimated price
- €6–9
- Schedules at
- reis.ee
Bus from Pärnu bussijaam to Niine
- Ave. Duration
- 2h 11m
- Frequency
- Once daily
- Estimated price
- €6–9
- Schedules at
- reis.ee
- Phone
- +372 606 4969
- [email protected]
- Website
- sebe.ee
Bus from Viljandi bussijaam to Pärnu bussijaam
- Ave. Duration
- 1h 49m
- Frequency
- Once daily
- Estimated price
- €5–8
- Schedules at
- sebe.ee
- Phone
- +372 641 8218
- [email protected]
- Website
- atko.ee
Bus from Viljandi bussijaam to Pärnu bussijaam
- Ave. Duration
- 2h 10m
- Frequency
- 6 times a week
- Schedules at
- atko.ee
Bus from Ugala to Pärnu bussijaam
- Ave. Duration
- 2h 8m
- Frequency
- 6 times a week
- Schedules at
- atko.ee
- [email protected]
- Website
- web.peatus.ee
Bus from Viljandi bussijaam to Pärnu bussijaam
- Ave. Duration
- 1h 35m
- Frequency
- 4 times a week
- Estimated price
- €3–5
- Website
- https://web.peatus.ee/?locale=en
- Phone
- +372 5886 0000
- [email protected]
- Website
- bussikeskus.ee
Bus from Viljandi bussijaam to Pärnu bussijaam
- Ave. Duration
- 1h 25m
- Frequency
- Twice a week
- Estimated price
- €7–10
- Website
- http://www.bussikeskus.ee/
- Schedules at
- https://www.bussikeskus.ee/et/regular-services
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 5 incredible day trips from Florence by train, Need to know: Greyhound, and Train travel in France: A guide to SNCF - to help you get the most out of your next trip.
More Questions & Answers
There are 275+ hotels available in Haapsalu.





























