The bus between Viljandi and Haapsalu takes 6h 18m. There is at least one bus per day from Viljandi to Haapsalu. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Buses run once daily between Viljandi and Haapsalu. The service departs Viljandi at 8:35 AM in the morning, which arrives into Haapsalu at 14:53:00. All services require a transfer, and take on average 6h 18m. The schedules shown below are for the next available departures.
Want to know about travelling from Viljandi to Haapsalu? 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 bus from Viljandi to Haapsalu. However, there are services departing from Viljandi bussijaam station and arriving at Veekeskus station via Lihula station. The journey, including transfers, takes approximately 6h 18m.
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 Veekeskus station.
Book your Viljandi to Haapsalu bus tickets online with Omio.
The distance between Viljandi and Haapsalu is 134.7 km. The road distance is 178 km.
You can take a bus from Viljandi bussijaam to Veekeskus via Lihula in around 3h 53m.