The average bus between Vilnius and Viljandi takes 9h 37m and the fastest bus takes 8h 30m. The bus service runs several times per day from Vilnius to Viljandi. 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 3 times a day between Vilnius and Viljandi. The earliest departure is at 7:55 AM in the morning, and the last departure from Vilnius is at 11:05 PM which arrives into Viljandi at 7:52 AM. All services require a transfer at Riga, Bus Station and take an average of 9h 37m. The schedules shown below are for the next available departures.


10h 29m • 2 changes


8h 30m • 2 changes
Arrives next day


10h 4m • 2 changes


10h 29m • 2 changes


8h 30m • 2 changes
Arrives next day


8h 47m • 2 changes


10h 29m • 2 changes


8h 30m • 2 changes
Arrives next day


8h 47m • 2 changes


10h 29m • 2 changes


8h 30m • 2 changes
Arrives next day


11h 2m • 2 changes
Want to know about travelling from Vilnius to Viljandi? 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 Vilnius to Viljandi. However, there are services departing from Vilnius station and arriving at Viljandi station via Riga, Bus Station station. The journey, including transfers, takes approximately 9h 37m.
Vilnius to Viljandi bus services, operated by FlixBus, depart from Vilnius, Autobusų Stotis (Sodų g. 22) station.
Vilnius to Viljandi bus services, operated by FlixBus, arrive at Vabaduse plats station.
Book your Vilnius to Viljandi bus tickets online with FlixBus, Lux Express and 2 other operators.
The distance between Vilnius and Viljandi is 409.1 km. The road distance is 563 km.
You can take a bus from Vilnius, Autobusų Stotis (Sodų g. 22) to Vabaduse plats via Riga, Bus Station, Riga Central Bus Station, and Pärnu bussijaam in around 9h 26m.