Rome2Rio

How to get fromSemarang to Batamby plane, train, bus or ferry

Find Transport to Batam

See all options

There are 7 ways to get from Semarang to Batam by plane, train, 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. Fly to Hang Nadim International Airport

    best
    1. Fly from Ahmad Yani (SRG) to Hang Nadim International Airport (BTH)plane plane SRG - BTH
    2h 28m
    Rp 1,825,983–4,752,526
  2. Train, bus, ferry via Cirebon

    cheapest
    1. Take the train from Semarang Tawang to Cirebontrain train
    2. Take the bus from Cirebon to Jakarta Pulogadung Bus Stationbus bus
    3. Take the ferry from Port of Tanjung Priok to Batu Amparferry ferry
    2d 1h
    Rp 606,535–870,000
  3. Train, bus, ferry

    1. Take the train from Semarang Tawang to Jakarta Gambirtrain train
    2. Take the bus from Gambir Station to Jakarta Airportbus bus
    3. Take the ferry from Port of Tanjung Priok to Batu Amparferry ferry
    45h 48m
    Rp 679,455–1,318,937
  4. Fly to Raja Haji Fisabilillah International Airport, ferry

    1. Fly from Ahmad Yani (SRG) to Raja Haji Fisabilillah International Airport (TNJ)plane plane SRG - TNJ
    2. Take the ferry from Sri Bintan Pura Ferry Terminal to Telaga Punggur Ferry Terminalferry ferry
    5h 46m
    Rp 1,675,983–3,889,526
  5. Fly to Singapore Changi Airport, ferry

    1. Fly from Ahmad Yani (SRG) to Singapore Changi Airport (SIN)plane plane SRG - SIN
    2. Take the ferry from Tanah Merah to Batam Centreferry ferry
    5h 4m
    Rp 1,959,893–4,396,436
  6. Train, ferry

    1. Take the train from Semarang Tawang to Pasar Senentrain train Menoreh / ...
    2. Take the ferry from Port of Tanjung Priok to Batu Amparferry ferry KM Kelud
    47h 44m
    Rp 659,093–822,201
  7. Bus, ferry

    1. Take the bus from Semarang to Terminal Kampung Rambutanbus bus
    2. Take the ferry from Port of Tanjung Priok to Batu Amparferry ferry KM Kelud
    2d 1h
    Rp 618,810–912,608

Ahmad Yani (SRG) to Hang Nadim International Airport (BTH) flights

Calendar28Weekly Planes
Duration3h 54mAverage Duration
TicketRp 1,709,037Cheapest Price
See schedules

Questions & Answers

What companies run services between Semarang, Indonesia and Batam, Indonesia?

Super Air Jet, Garuda Indonesia, and two other airlines fly from Ahmad Yani (SRG) to Hang Nadim International Airport (BTH) 4 times a day.

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 French strikes 2018: What are my alternative transport options?, Travelling to the UK: What do I need to know?, and Travelling Croatia’s Dalmatian Coast by boat, bus, car and train - to help you get the most out of your next trip.