When you want to get from Haapsalu to Viljandi, your choices are limited. There is only one option we offer for this route:
The overland distance from Haapsalu to Viljandi is 115 miles (184 km).
The flying distance is 148 miles (238 km).
The travel time from Haapsalu to Viljandi takes approximately 10 hours.
To get from Haapsalu to Viljandi prepare to shell out about USD 5.79 for your ticket.
Buses from Haapsalu to Viljandi ride 4 times a day.
While bus is the only option we offer for this route, these simple tips and recommendations will help enhance your travel experience.
Up to now, 518 booked bus tickets from Haapsalu to Viljandi through our service. You can check reviews above.