The cheapest and fastest buses from Tallinn to Viljandi
Cheapest price
€17
Average price
€19
Fastest journey
3 h 30 m
Average duration
4 h 6 m
Buses per day
4
Distance
129 km
The best way to find a cheap bus ticket from Tallinn to Viljandi is to book your journey as far in advance as possible and to avoid traveling at rush hour.
The average ticket from Tallinn to Viljandi will cost around €19 if you buy it on the day, but the cheapest tickets can be found for only €17.
Of the 4 buses that leave Tallinn for Viljandi on Sun, Dec 21, 4 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
On Sun, Dec 21 the direct buses cover the 129 km distance in an average of 4 h 6 m but if you time it right, some buses will get you there in just 3 h 30 m .
On Sun, Dec 21 the slowest buses will take 4 h 30 m and usually involve a change or two along the way, but you might be able to save a few pennies if you’re on a budget.








Travel Information
Compare train and bus for Tallinn to Viljandi
Omio recommends booking the bus as it is the most popular option from Tallinn to Viljandi among Omio's users. If you are prioritising price take the train with prices starting from €12. For those with little time consider booking a train which can get you there in 2h 4m. The ticket price range depends on the travel mode: a train costs an average of €12, and a bus costs an average of €11.
Distance: 129 km
Compare bus with
Most popular Bus | Train |
|---|---|
€17 Average price | €12 Average price Cheapest |
2h 47m Average total duration 2h 17m Onboard + 30m Additional time* | 2h 34m Average total duration Fastest 2h 4m Onboard + 30m Additional time* |
Direct Options | Direct Options |
Live departures
Tallinn to Viljandi bus times
The table below shows live departures for Tallinn to Viljandi buses for today, Saturday, December 20. You can also manually refresh the results below to see updated bus journeys.
| Provider | Departs | Duration | Arrives | Transfers | Tickets |
|---|---|---|---|---|---|
119|v1e>v6e · 145|v1e>v6e | 7:05 AM Tallinn, Tallinna Lennujaam (Linnade park) | 4h55 | 12:00 PM Viljandi, Coach Station | 1 transfer | |
139|v1e>v772e · 145|v1e>v772e | 7:30 AM Tallinn, Bussijaam | 4h10 | 11:40 AM Tänassilma, Kalmetu | 1 transfer | |
139|v1e>v772e · 145|v1e>v772e | 7:30 AM Tallinn, Bussijaam | 3h59 | 11:29 AM Leie, Tartu–Viljandi–Kilingi-Nõmme / Kolga-Jaani-Leie | 1 transfer | |
221|v1e>v6e · 145|v1e>v6e | 7:30 AM Tallinn, Bussijaam | 4h30 | 12:00 PM Viljandi, Coach Station | 1 transfer | |
139|v1e>v6e · 145|v1e>v6e | 7:35 AM Tallinn, Tallinna Lennujaam (Linnade park) | 4h25 | 12:00 PM Viljandi, Coach Station | 1 transfer | |
139|v1e>v772e · 145|v1e>v772e | 7:35 AM Tallinn, Tallinna Lennujaam (Linnade park) | 3h54 | 11:29 AM Leie, Tartu–Viljandi–Kilingi-Nõmme / Kolga-Jaani-Leie | 1 transfer | |
139|v1e>v772e · 145|v1e>v772e | 7:35 AM Tallinn, Tallinna Lennujaam (Linnade park) | 4h05 | 11:40 AM Tänassilma, Kalmetu | 1 transfer | |
129|v1e>v772e · 145|v1e>v772e | 8:00 AM Tallinn, Bussijaam | 3h29 | 11:29 AM Leie, Tartu–Viljandi–Kilingi-Nõmme / Kolga-Jaani-Leie | 1 transfer | |
129|v1e>v772e · 145|v1e>v772e | 8:00 AM Tallinn, Bussijaam | 3h40 | 11:40 AM Tänassilma, Kalmetu | 1 transfer | |
211/149|v1e>v6e · 145|v1e>v6e | 8:00 AM Tallinn, Bussijaam | 4h00 | 12:00 PM Viljandi, Coach Station | 1 transfer | |
129|v1e>v772e · 145|v1e>v772e | 8:05 AM Tallinn, Tallinna Lennujaam (Linnade park) | 3h24 | 11:29 AM Leie, Tartu–Viljandi–Kilingi-Nõmme / Kolga-Jaani-Leie | 1 transfer | |
129|v1e>v6e · 145|v1e>v6e | 8:05 AM Tallinn, Tallinna Lennujaam (Linnade park) | 3h55 | 12:00 PM Viljandi, Coach Station | 1 transfer | |
129|v1e>v772e · 145|v1e>v772e | 8:05 AM Tallinn, Tallinna Lennujaam (Linnade park) | 3h35 | 11:40 AM Tänassilma, Kalmetu | 1 transfer | |
129|v1e>v6e · 145|v1e>v6e | 11:05 AM Tallinn, Tallinna Lennujaam (Linnade park) | 4h55 | 4:00 PM Viljandi, Coach Station | 1 transfer | |
129|v1e>v772e · 145|v1e>v772e | 12:00 PM Tallinn, Bussijaam | 3h29 | 3:29 PM Leie, Tartu–Viljandi–Kilingi-Nõmme / Kolga-Jaani-Leie | 1 transfer | |
274|v1e>v6e · 145|v1e>v6e | 12:00 PM Tallinn, Bussijaam | 4h30 | 4:30 PM Viljandi, Coach Station | 1 transfer | |
129|v1e>v772e · 145|v1e>v772e | 12:00 PM Tallinn, Bussijaam | 3h40 | 3:40 PM Tänassilma, Kalmetu | 1 transfer | |
129|v1e>v6e · 145|v1e>v6e | 12:00 PM Tallinn, Bussijaam | 4h00 | 4:00 PM Viljandi, Coach Station | 1 transfer | |
129|v1e>v772e · 145|v1e>v772e | 12:05 PM Tallinn, Tallinna Lennujaam (Linnade park) | 3h35 | 3:40 PM Tänassilma, Kalmetu | 1 transfer | |
129|v1e>v6e · 145|v1e>v6e | 12:05 PM Tallinn, Tallinna Lennujaam (Linnade park) | 3h55 | 4:00 PM Viljandi, Coach Station | 1 transfer | |
129|v1e>v772e · 145|v1e>v772e | 12:05 PM Tallinn, Tallinna Lennujaam (Linnade park) | 3h24 | 3:29 PM Leie, Tartu–Viljandi–Kilingi-Nõmme / Kolga-Jaani-Leie | 1 transfer | |
211|v1e>v772e · 145|v1e>v772e | 1:00 PM Tallinn, Bussijaam | 3h54 | 4:54 PM Leie, Tartu–Viljandi–Kilingi-Nõmme / Kolga-Jaani-Leie | 1 transfer | |
211|v1e>v6e · 145|v1e>v6e | 1:00 PM Tallinn, Bussijaam | 3h30 | 4:30 PM Viljandi, Coach Station | 1 transfer | |
211|v1e>v772e · 145|v1e>v772e | 1:00 PM Tallinn, Bussijaam | 3h42 | 4:42 PM Tänassilma, Kalmetu | 1 transfer | |
This is the last bus of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Tallinn to Viljandi by train or bus
Compare train and bus prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
Dec 21
Dec 22
Dec 23
Dec 24
Dec 25
Dec 26
Dec 27
Journey information
Overview: Bus from Tallinn to Viljandi
Buses from Tallinn to Viljandi run on average 23 times per day, taking around 2h 17m. Cheap bus tickets for this journey start at €11 if you book in advance.
The earliest bus runs at 09:00, the last at 18:54. The fastest bus covers the 129 km distance in 3h 24m.
Distance 129 km |
Average bus duration 2h 17m |
Cheapest ticket price €11 |
Buses per day 23 |
Fastest bus 3h 24m |
First bus 09:00 |
Last bus 18:54 |
Bus providers: Lux Express, FlixBus, Go Bus AS, Estonian Lines OÜ, Aktsiaselts Hansa Bussiliinid, Tartu Bussikeskus from Tallinn to ViljandiYou can travel by bus between Tallinn to Viljandi with Lux Express, FlixBus, Go Bus AS, Estonian Lines OÜ, Aktsiaselts Hansa Bussiliinid, Tartu Bussikeskus for as low as €11. When you search for schedules and tickets, Omio will show you the best journey
Lux Express
FlixBus
Go Bus AS
Estonian Lines OÜ
Aktsiaselts Hansa Bussiliinid
Tartu Bussikeskus
FAQs: Bus from Tallinn to Viljandi
Find answers to the most common questions about traveling from Tallinn to Viljandi by bus. From journey times and ticket prices to direct connections, first and last departures, and even whether the route is scenic, our FAQs cover everything you need to plan your trip. Whether you’re looking for the fastest bus, the cheapest option, or tips for making the most of your visit at Viljandi, this guide helps you travel smarter and with confidence.

Passengers board the coach most frequently from Tallinn, Bussijaam, which is located around 1.4 miles (2.2 km) away from the city centre, and they get off the coach at Viljandi, Coach Station, located 0.6 miles (1 km) away from the city centre.
popular bus stations
Popular bus stations from Tallinn to Viljandi
- 05:00-01:00
- Free Wi-Fi
- Cafeteria (in the station)
- Fast-Food Outlet (in the station)
- Coffee Shop (in the station).
- Available outside the main entrance.
- Elevators, ramps
- Available in the station.
- Bus: 2, 15, 17, 23 Trams: 2, 4
Most popular bus connections from Tallinn
More options for your journey from Tallinn to Viljandi
Here are some other resources that might have the information you need
