There are 6 ways to get from Viljandi to Haapsalu by bus, car, or train
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 Lihula149
- Take the bus from Lihula to VeekeskusL20 / ...
3h 53m€7–9Drive 177.8 km
- Drive from Viljandi to Haapsalu177.8 km
2h 37m€28–41Train, bus
- Take the train from Viljandi to RaplaRe23 / ...
- Take the bus from Rapla bussijaam to Niine153
4h 5m€11–24Bus via Pärnu
- Take the bus from Viljandi bussijaam to Pärnu bussijaam145
- Take the bus from Pärnu bussijaam to Niine321
4h 41m€9–18Bus via Tallinn
- Take the bus from Viljandi bussijaam to Tallinna bussijaam375 / ...
- Take the bus from Tallinna bussijaam to Niine234 / ...
4h 57m€8–23Bus via Pärnu #2
- Take the bus from Ugala to Pärnu bussijaam371
- Take the bus from Pärnu bussijaam to Niine321
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 37m and costs €27 - €40.
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 37m to drive from Viljandi to Haapsalu.
There are 173+ hotels available in Haapsalu.
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
- klienditugi@elron.ee
- Website
- elron.ee
Train from Viljandi to Rapla
- Ave. Duration
- 1h 16m
- Frequency
- 4 times a day
- Estimated price
- €6–10
- Website
- https://elron.ee/en
- Express Train Ticket
- €6–10
- Phone
- +372 640 4000
- klienditugi@gobus.ee
- 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
- €1–3
- Website
- https://gobus.ee/en/
Bus from Viljandi bussijaam to Pärnu bussijaam
- Ave. Duration
- 1h 25m
- Frequency
- 3 times a day
- Estimated price
- €3–5
- Website
- https://gobus.ee/en/
Bus from Viljandi bussijaam to Tallinna bussijaam
- Ave. Duration
- 2h 15m
- Frequency
- Once daily
- Estimated price
- €4–7
- Website
- https://gobus.ee/en/
Bus from Tallinna bussijaam to Niine
- Ave. Duration
- 1h 43m
- Frequency
- Every 4 hours
- Estimated price
- €3–5
- Website
- https://gobus.ee/en/
- Phone
- +372 502 5996
- info@reis.ee
- Website
- reis.ee
Bus from Rapla bussijaam to Niine
- Ave. Duration
- 1h 26m
- Frequency
- Once daily
- Estimated price
- €4–7
- 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 Tallinna bussijaam to Niine
- Ave. Duration
- 1h 45m
- Frequency
- Once daily
- Estimated price
- €5–7
- Schedules at
- reis.ee
- Phone
- +372 680 0909
- info@luxexpress.eu
- Website
- luxexpress.eu
Bus from Viljandi bussijaam to Pärnu bussijaam
- Ave. Duration
- 1h 30m
- Frequency
- 3 times a day
- Estimated price
- €7–9
- Website
- https://luxexpress.eu/en/
Bus from Tallinna bussijaam to Niine
- Ave. Duration
- 1h 33m
- Frequency
- 4 times a day
- Estimated price
- €8–9
- Website
- https://luxexpress.eu/en/
- Phone
- +372 606 4969
- info@sebe.ee
- 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
- grupp@atko.ee
- Website
- atko.ee
Bus from Viljandi bussijaam to Pärnu bussijaam
- Ave. Duration
- 2h 10m
- Frequency
- 6 times a week
- Website
- Atko Bussiliinid AS
Bus from Ugala to Pärnu bussijaam
- Ave. Duration
- 2h 8m
- Frequency
- 6 times a week
- Website
- Atko Bussiliinid AS
- peatus@agri.ee
- 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
- info@bussikeskus.ee
- 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
- 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/
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 French strikes 2018: What are my alternative transport options?, Train travel in France: A guide to SNCF, and Heading to Europe? Read this before you buy a Eurail Pass - to help you get the most out of your next trip.




































