Rome2Rio

How to get fromSemarang to Danau Tobaby train, plane, bus, ferry, or car ferry

Find Transport to Danau Toba

See all options

There are 7 ways to get from Semarang to Danau Toba by train, plane, bus, ferry, or car 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 to Adisumarmo International Airport, fly to Silangit Airport, bus

    best
    1. Take the train from Semarang Poncol Station to Solobalapantrain train
    2. Fly from Adisumarmo International Airport (SOC) to Silangit Airport (DTB)plane plane SOC - DTB
    3. Take the bus from Silangit Airport to Ajibatabus bus
    22h 10m
    Rp 2,397,322–4,477,000
  2. Bus, ferry, car ferry

    cheapest
    1. Take the bus from Semarang to Jakarta Kampung Rambutan Bus Stationbus bus
    2. Take the ferry from Port of Tanjung Priok to Belawanferry ferry
    3. Take the bus from Amplas Station to Parapatbus bus
    4. Take the car ferry from Ajibata to Tomokcarferry car ferry
    3d 10h
    Rp 1,000,505–1,517,144
  3. Train, ferry, bus, car ferry

    1. Take the train from Semarang Tawang to Jakarta Gambirtrain train
    2. Take the ferry from Port of Tanjung Priok to Belawanferry ferry
    3. Take the bus from Amplas Station to Parapatbus bus
    4. Take the car ferry from Ajibata to Tomokcarferry car ferry
    3d 4h
    Rp 1,081,046–1,479,035
  4. Fly Ahmad Yani to Silangit Airport, bus

    1. Fly from Ahmad Yani (SRG) to Silangit Airport (DTB)plane plane SRG - DTB
    2. Take the bus from Silangit Airport to Ajibatabus bus
    8h 17m
    Rp 2,993,805–6,333,678
  5. Fly Ahmad Yani to Kuala Namu International Airport, bus

    1. Fly from Ahmad Yani (SRG) to Kuala Namu International Airport (KNO)plane plane SRG - KNO
    2. Take the bus from Amplas Station to Parapatbus bus
    13h 16m
    Rp 2,296,805–3,763,678
  6. Train, bus to Soekarno–Hatta International Airport, fly to Silangit Airport, bus

    1. Take the train from Semarang Tawang to Jakarta Gambirtrain train
    2. Take the bus from Gambir Station to Jakarta Airportbus bus
    3. Fly from Soekarno–Hatta International Airport (CGK) to Silangit Airport (DTB)plane plane CGK - DTB
    4. Take the bus from Silangit Airport to Ajibatabus bus
    12h 45m
    Rp 2,002,446–3,148,935
  7. Bus, ferry, car ferry via Tangerang

    1. Take the bus from Semarang to Terminal Kampung Rambutanbus bus
    2. Take the bus from Terminal Kampung Rambutan to Soekarno-Hatta International Airportbus bus
    3. Take the ferry from Port of Tanjung Priok to Belawanferry ferry
    4. Take the bus from Amplas Station to Parapatbus bus
    5. Take the car ferry from Ajibata to Tomokcarferry car ferry
    3d 9h
    Rp 1,014,400–2,013,692

Adisumarmo International Airport (SOC) to Silangit Airport (DTB) flights

Calendar25Weekly Planes
Duration17h 10mAverage Duration
TicketRp 2,336,399Cheapest Price
See schedules

Questions & Answers

What companies run services between Semarang, Indonesia and Danau Toba, North Sumatra, Indonesia?

There is no direct connection from Semarang to Danau Toba. However, you can take the train to Solobalapan, take the train to Adi soemarmo Airport, walk to Adisumarmo International Airport (SOC) airport, fly to Silangit Airport (DTB), walk to Silangit Airport, then take the bus to Ajibata. Alternatively, you can take a train from Semarang Tawang to Danau Toba via Jakarta Gambir, Balai Kota 1, Balai Kota, Juanda, Tanjung Priok, Port of Tanjung Priok, Belawan, Amplas Station, Parapat, Ajibata, and Tomok in around 3d 4h.

Airlines
Train operators
Bus operators
Ferry operators

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 Italian Lakes: Getting around by train, Best ways to travel around Australia, and Travel Insider: Top Japan travel tips by Beatrix Holland - to help you get the most out of your next trip.