Rome2Rio

How to get fromSurabaya to Semerangby plane, taxi, train, bus, ferry, car ferry, or car

Find Transport to Semerang

See all options

There are 6 ways to get from Surabaya to Semerang by plane, taxi, train, bus, ferry, car ferry, 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.

  1. Fly, taxi

    best
    1. Fly from Juanda International Airport (SUB) to Lombok International Airport (LOP)plane plane SUB - LOP
    2. Take the taxi from Lombok-Airport-LOP to Semerangtaxi taxi
    2h 11m
    Rp 1,346,191–1,930,953
  2. Train, car ferry, bus, ferry, drive

    cheapest
    1. Take the train from Surabaya Gubeng to Ketapangtrain train
    2. Take the car ferry from Ketapang to Gilimanukcarferry car ferry
    3. Take the bus from Terminal Gilimanuk to Terminal Ubungbus bus
    4. Take the ferry from Sanur to Bangsalferry ferry
    5. Drive from Bangsal to Semerangcar car
    18h 23m
    Rp 698,527–1,165,929
  3. Train, bus, ferry, taxi

    1. Take the train from Surabaya Gubeng to Jembertrain train
    2. Take the bus from Jember to Sanurbus bus
    3. Take the ferry from Sanur to Bangsalferry ferry
    4. Take the taxi from Bangsal to Semerangtaxi taxi
    17h 24m
    Rp 1,167,881–1,590,000
  4. Bus, ferry, drive

    1. Take the bus from Surabaya to Denpasarbus bus
    2. Take the ferry from Sanur to Bangsalferry ferry
    3. Drive from Bangsal to Semerangcar car
    19h 4m
    Rp 817,805–1,061,406
  5. Train, car ferry, bus, ferry, drive via Surabaya Kota

    1. Take the train from Surabaya Kota to Ketapangtrain train
    2. Take the car ferry from Ketapang to Gilimanukcarferry car ferry
    3. Take the bus from Terminal Gilimanuk to Terminal Ubungbus bus
    4. Take the ferry from Sanur to Bangsalferry ferry
    5. Drive from Bangsal to Semerangcar car
    19h 31m
    Rp 700,603–1,166,497
  6. Bus, ferry, drive via Malang

    1. Take the bus from Purabaya Bus Terminal to Malang Terminal Arjosaribus bus
    2. Take the bus from Malang Terminal Arjosari to Denpasarbus bus
    3. Take the ferry from Serangan to Bangsalferry ferry
    4. Drive from Bangsal to Semerangcar car
    21h 30m
    Rp 1,524,299–2,525,000

Juanda International Airport (SUB) to Lombok International Airport (LOP) flights

Calendar49Weekly Planes
Duration1h 6mAverage Duration
TicketRp 889,706Cheapest Price
See schedules

Questions & Answers

What companies run services between Surabaya, Indonesia and Semerang, Indonesia?

There is no direct connection from Surabaya to Semerang. However, you can take the taxi to Juanda-International-Airport-SUB airport, fly to Lombok International Airport (LOP), then take the taxi to Semerang. Alternatively, you can take the train to Jember, walk to Jember, take the bus to Sanur, walk to Sanur, take the ferry to Bangsal, then take the taxi to Semerang.

Airlines
Train operators
Bus operators
Ferry operators
Other operators

Want to know more about travelling around Indonesia

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