• Our partners include:

  • RailEurope
  • Deutsche Bahn
  • Trenitalia
  • SNCF
  • Flixbus
  • RENFE
  • Ouibus
  • BlaBlaCar
  • Booking.com
  • Skyscanner

There are 5 ways to get from Narva to Viljandi by train, bus or car

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2rio's travel planner.

Recommended option

Train, bus  •  4 h 43 min

  1. Take the train from Narva to Tapa Elr22 / ...
  2. Take the bus from Tapa to Viljandi bussijaam 502

$16 - $25

Cheapest option

Bus Peatus Estonia  •  4 h 43 min

  1. Take the bus from Narva to Tartu bussijaam 805 / ...
  2. Take the bus from Tartu bussijaam to Viljandi bussijaam 145 / ...

$11 - $21

3 alternative options

Train  •  5 h 48 min

  1. Take the train from Narva to Tallinn Elr22 / ...
  2. Take the train from Tallinn to Viljandi Elr4

$16 - $24

Bus Ecolines  •  6 h 31 min

  1. Take the bus from Narva to Tartu 858004
  2. Take the bus from Tartu bussijaam to Vabaduse plats 351

$12 - $19

Drive  •  3 h 13 min

  1. Drive from Narva to Viljandi 143.8 miles

$25 - $40

Questions & Answers

The cheapest way to get from Narva to Viljandi is to bus which costs 10€ - 18€ and takes 4 h 43 min.

More details

The quickest way to get from Narva to Viljandi is to drive which costs 22€ - 35€ and takes 3 h 13 min.

More details

No, there is no direct bus from Narva to Viljandi. However, there are services departing from Narva and arriving at Viljandi bussijaam via Tartu bussijaam. The journey, including transfers, takes approximately 4 h 43 min.

More details

No, there is no direct train from Narva to Viljandi. However, there are services departing from Narva and arriving at Viljandi via Tallinn. The journey, including transfers, takes approximately 5 h 48 min.

More details

The distance between Narva and Viljandi is 187 km. The road distance is 230.1 km.

Get driving directions

The best way to get from Narva to Viljandi without a car is to train and bus which takes 4 h 43 min and costs 13€ - 22€.

More details

It takes approximately 4 h 43 min to get from Narva to Viljandi, including transfers.

More details

Narva to Viljandi bus services, operated by Peatus Estonia, depart from Narva station.

More details

Narva to Viljandi train services, operated by Elron, depart from Narva station.

More details

The best way to get from Narva to Viljandi is to bus which takes 4 h 43 min and costs 10€ - 18€. Alternatively, you can train, which costs 14€ - 22€ and takes 5 h 48 min.

Mode details

Map of how to get from Narva to Viljandi.
Launch map view
  • Distance: 117 miles
  • Duration: 4 h 43 min

What companies run services between Narva, Estonia and Viljandi, Estonia?

You can take a bus from Narva to Viljandi via Tartu bussijaam in around 4 h 43 min. Alternatively, you can take a train from Narva to Viljandi via Tallinn in around 5 h 48 min.

Train operators
Elron
Website
elron.ee
Train from Narva to Tapa
Ave. Duration
1 h 38 min
Frequency
4 times a day
Estimated price
$6 - $10
Schedules at
elron.ee
Train from Narva to Tallinn
Ave. Duration
2 h 36 min
Frequency
4 times a day
Estimated price
$10 - $15
Schedules at
elron.ee
Train from Tallinn to Viljandi
Ave. Duration
2 h 12 min
Frequency
5 times a day
Estimated price
$6 - $10
Schedules at
elron.ee
Bus operators
MK Reis-X OÜ
Website
reis.ee
Bus from Tapa to Viljandi bussijaam
Ave. Duration
2 h 5 min
Frequency
Twice a week
Estimated price
$9 - $15
Schedules at
reis.ee
Peatus Estonia
Website
peatus.ee
Bus from Narva to Tartu bussijaam
Ave. Duration
2 h 45 min
Frequency
3 times a day
Estimated price
$9 - $13
Schedules at
peatus.ee
Bus from Tartu bussijaam to Viljandi bussijaam
Ave. Duration
1 h 15 min
Frequency
Every 2 hours
Estimated price
$3 - $5
Schedules at
peatus.ee
Arilix OÜ
Website
vaikebussid.ee
Bus from Narva to Tartu bussijaam
Ave. Duration
3 h 5 min
Frequency
Once daily
Estimated price
$10 - $15
Schedules at
vaikebussid.ee
Bus from Tartu bussijaam to Viljandi bussijaam
Ave. Duration
1 h 15 min
Frequency
4 times a week
Estimated price
$4 - $6
Schedules at
vaikebussid.ee
Ekspress-Auto L
Website
ekspressautol.ee
Bus from Narva to Tartu bussijaam
Ave. Duration
3 h 15 min
Frequency
Once daily
Estimated price
$8 - $12
Schedules at
ekspressautol.ee
Taisto Liinid OÜ
Website
taisto.ee
Bus from Tartu bussijaam to Viljandi bussijaam
Ave. Duration
1 h 15 min
Frequency
3 times a day
Estimated price
$3 - $5
Schedules at
taisto.ee
Go Bus AS
Website
gobus.ee
Bus from Tartu bussijaam to Viljandi bussijaam
Ave. Duration
1 h 10 min
Frequency
Once daily
Estimated price
$3 - $6
Schedules at
gobus.ee
Bus from Tartu bussijaam to Vabaduse plats
Ave. Duration
1 h 10 min
Frequency
Twice a week
Estimated price
$3 - $6
Schedules at
gobus.ee
Sarbuss AS
Website
sarbuss.ee
Bus from Tartu bussijaam to Viljandi bussijaam
Ave. Duration
1 h 10 min
Frequency
Once daily
Estimated price
$6
Schedules at
sarbuss.ee

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 Want to know more about Flixbus?, How to get from JFK to New York City and How to plan an amazing trip around Scandinavia - to help you get the most out of your next trip.

More Questions & Answers

Narva to Viljandi bus services, operated by Peatus Estonia, arrive at Viljandi bussijaam station.

More details

Narva to Viljandi train services, operated by Elron, arrive at Viljandi station.

More details

Yes, the driving distance between Narva to Viljandi is 230 km. It takes approximately 3 h 13 min to drive from Narva to Viljandi.

Get driving directions

There are 46+ hotels available in Viljandi. Prices start at $34 USD per night.

More details