Rome2Rio

How to get fromPulau Batam to Surabayaby plane, train, ferry, or bus

Find Transport to Surabaya

See all options

There are 6 ways to get from Pulau Batam to Surabaya by plane, train, ferry, or bus

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 to Juanda International Airport, train

    best
    1. Fly from Hang Nadim International Airport (BTH) to Juanda International Airport (SUB)plane plane BTH - SUB
    2. Take the train from Waru to Surabaya Gubengtrain train
    5h 23m
    Rp 1,938,018–3,121,885
  2. Ferry, bus

    cheapest
    1. Take the ferry from Batu Ampar to Port of Tanjung Priokferry ferry KM Kelud
    2. Take the bus from DAMRI Bus Station Jakarta to Surabaya Kotabus bus Jakarta - Surabaya Kota
    2d
    Rp 657,490–1,353,375
  3. Ferry, train

    1. Take the ferry from Batu Ampar to Port of Tanjung Priokferry ferry KM Kelud
    2. Take the train from Jakarta Gambir to Surabaya Pasar Turitrain train Argo Bromo Anggrek / ...
    47h 36m
    Rp 821,963–1,050,593
  4. Fly to Abdul Rachman Saleh Airport, train

    1. Fly from Hang Nadim International Airport (BTH) to Abdul Rachman Saleh Airport (MLG)plane plane BTH - MLG
    2. Take the train from Lawang to Gubengtrain train
    7h 41m
    Rp 2,763,518–4,481,885
  5. Fly to Ahmad Yani, train

    1. Fly from Hang Nadim International Airport (BTH) to Ahmad Yani (SRG)plane plane BTH - SRG
    2. Take the train from Semarang Tawang to Surabaya Pasar Turitrain train
    6h 24m
    Rp 2,258,518–3,371,885
  6. Ferry

    1. Take the ferry from Telaga Punggur Ferry Terminal to Sri Bintan Pura Ferry Terminalferry ferry
    2. Take the ferry from Pelabuhan Sri Bayintan Kijang to Surabaya - Tanjung Perak Portferry ferry Km Umsini
    3d 2h
    Rp 672,144–905,652

Hang Nadim International Airport (BTH) to Juanda International Airport (SUB) flights

Calendar49Weekly Planes
Duration3h 37mAverage Duration
TicketRp 1,846,530Cheapest Price
See schedules

Questions & Answers

What companies run services between Pulau Batam, Indonesia and Surabaya, Indonesia?

You can take a vehicle from Pulau Batam to Surabaya via Telaga Punggur Ferry Terminal, Sri Bintan Pura Ferry Terminal, Pelabuhan Sri Bayintan Kijang, and Surabaya - Tanjung Perak Port in around 3d 2h.

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 Which side of Niagara Falls should I choose (and how do I get there)?, Travel Insider: Top Japan travel tips by Beatrix Holland, and French strikes 2018: What are my alternative transport options? - to help you get the most out of your next trip.