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,725,984–2,352,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 51m
    Rp 1,873,984–4,383,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 2,219,346–3,985,888
  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,094–822,202
  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,811–912,609

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

Calendar21Weekly Planes
Duration3h 41mAverage Duration
TicketRp 1,666,392Cheapest Price
See schedules

Questions & Answers

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

Super Air Jet, Garuda Indonesia, and Batik Air fly from Ahmad Yani (SRG) to Hang Nadim International Airport (BTH) 3 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 How to get from Stansted Airport into central London, Train travel in France: A guide to SNCF, and Slovenia: Getting from Ljubljana to Lake Bled - to help you get the most out of your next trip.