Rome2Rio

How to get fromOslo to Viljandiby train, plane, car, car ferry, bus or ferry

Find Transport to Viljandi

See all options

There are 9 ways to get from Oslo to Viljandi by train, plane, car, car ferry, bus, or ferry

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

  1. Train, fly to Lennart Meri International Airport

    best
    1. Take the train from Oslo S to Oslo lufthavn stasjontrain
    2. Fly from Oslo Airport, Gardermoen (OSL) to Lennart Meri International Airport (TLL)planeOSL - TLL
    3. Take the train from Tallinn to Viljanditrain
    7h 16m
    €70–176
  2. Drive, car ferry

    1. Drive from Oslo to Kapellskärcar
    2. Take the car ferry from Kapellskär to Paldiskicarferry
    3. Drive from Paldiski to Viljandicar
    18h 39m
  3. Bus

    1. Take the bus from Oslo bussterminal to Berlin, Zentralen Omnibusbahnhofbus
    2. Take the bus from Berlin, Zentralen Omnibusbahnhof to Parnu, Bus Stationbus
    3. Take the bus from Pärnu bussijaam to Vabaduse platsbus145
    41h 59m
    €159–281
  4. Train, fly to Tartu Ülenurme Airport, bus

    1. Take the train from Oslo S to Oslo lufthavn stasjontrain
    2. Fly from Oslo Airport, Gardermoen (OSL) to Tartu Ülenurme Airport (TAY)planeOSL - TAY
    3. Take the bus from Tartu bussijaam to Viljandi bussijaambus
    9h 40m
    €89–304
  5. Train, fly to Helsinki Airport, ferry

    1. Take the train from Oslo S to Oslo lufthavn stasjontrain
    2. Fly from Oslo Airport, Gardermoen (OSL) to Helsinki Airport (HEL)planeOSL - HEL
    3. Take the ferry from Helsinki to Tallinnferry
    4. Take the train from Tallinn to Viljanditrain
    11h 3m
    €92–297
  6. Train, fly to Riga International Airport, bus

    1. Take the train from Oslo S to Oslo lufthavn stasjontrain
    2. Fly from Oslo Airport, Gardermoen (OSL) to Riga International Airport (RIX)planeOSL - RIX
    3. Take the train from Riga-Pasazieru to Valgatrain
    4. Take the bus from Valga bussijaam to Vabaduse platsbus
    11h 2m
  7. Train, car ferry via Stockholm

    1. Take the train from Oslo S to Stockholm Centralstationtrain70
    2. Take the car ferry from Stockholm to Tallinncarferry
    3. Take the train from Tallinn to ViljanditrainE23 / ...
    26h 9m
    €153–435
  8. Train, car ferry

    1. Take the train from Oslo S to Stockholm Centralstationtrain
    2. Take the car ferry from Stockholm to Tallinncarferry
    3. Take the train from Tallinn to ViljanditrainE23 / ...
    26h 27m
    €148–430
  9. Bus, ferry, train

    1. Take the bus from Oslo Bussterminal to Stockholm, Cityterminalenbus877 / ...
    2. Take the ferry from Stockholm to Tallinnferry
    3. Take the train from Tallinn to ViljanditrainE23 / ...
    29h 8m
    €97–139

Oslo to Viljandi by bus

Calendar5Weekly Buses
Duration41h 59mAverage Duration
Ticket€159Cheapest Price
See schedules

Questions & Answers

What companies run services between Oslo, Norway and Viljandi, Estonia?

You can take a bus from Oslo bussterminal to Vabaduse plats via Berlin, Zentralen Omnibusbahnhof and Pärnu bussijaam in around 41h 59m.

Airlines
Train operators
Bus operators
Ferry operators

Want to know more about travelling around Estonia

Rome2Rio's Travel Guide series provide vital information for the global traveller. Filled with useful and timely travel information, the guides answer all the hard questions - such as 'How do I buy a ticket?', 'Should I book online before I travel? ', 'How much should I expect to pay?', 'Do the trains and buses have Wifi?' - to help you get the most out of your next trip.

Related travel guides

More Questions & Answers