Rome2Rio

How to get fromJohor to Semarangby bus, plane, ferry or train

Find Transport to Semarang

See all options

There are 7 ways to get from Johor to Semarang by bus, plane, ferry, or train

Select an option below to see step-by-step directions and to compare ticket prices and travel times in Rome2Rio's travel planner.

  1. Bus to Singapore Changi Airport, fly

    best
    1. Take the bus from Johor Bahru CIQ to Expo Stnbus
    2. Fly from Singapore Changi Airport (SIN) to Ahmad Yani (SRG)planeSIN - SRG
    5h 32m
    Rp 2,016,345–3,340,365
  2. Ferry, bus

    cheapest
    1. Take the ferry from Harbourfront Centre to Harbour Bayferry
    2. Take the ferry from Batu Ampar to Port of Tanjung Priokferry
    3. Take the bus from DAMRI Bus Station Jakarta to Semarangbus
    2d 1h
    Rp 847,385–1,640,412
  3. Ferry to Hang Nadim International Airport, fly

    1. Take the ferry from Berjaya Waterfront Ferry Terminal Johor Bahru to Batam Centreferry
    2. Fly from Hang Nadim International Airport (BTH) to Ahmad Yani (SRG)planeBTH - SRG
    6h 25m
    Rp 2,004,173–2,628,992
  4. Fly from Senai International Airport

    1. Fly from Senai International Airport (JHB) to Ahmad Yani (SRG)planeJHB - SRG
    7h 43m
    Rp 960,366–4,072,658
  5. Train, train to Kuala Lumpur International Airport, fly

    1. Take the train from Segamat to Bandar Tasektrain
    2. Take the train from Bandar Tasik Selatan to Klia T1train
    3. Fly from Kuala Lumpur International Airport (KUL) to Ahmad Yani (SRG)planeKUL - SRG
    7h 47m
    Rp 1,283,290–3,017,145
  6. Ferry, train

    1. Take the ferry from Singapore Harbour Front to Tanjung Balai Karimunferry
    2. Take the ferry from Tanjung Balai Karimun to Port of Tanjung Priokferry
    3. Take the train from Pasar Senen to Semarang Poncoltrain
    2d 5h
    Rp 1,419,250–1,631,751
  7. Ferry, bus via Tanjung Balai

    1. Take the ferry from Singapore Harbour Front to Tanjung Balai Karimunferry
    2. Take the ferry from Tanjung Balai Karimun to Port of Tanjung Priokferry
    3. Take the bus from Tanjung Priok to Kampung Rambutanbus10D
    4. Take the bus from Jakarta Kampung Rambutan Bus Station to Semarangbus
    2d 11h
    Rp 1,357,250–1,691,751

Singapore Changi Airport (SIN) to Ahmad Yani (SRG) flights

Calendar28Weekly Planes
Duration3h 57mAverage Duration
TicketRp 679,746Cheapest Price
See schedules

Questions & Answers

What companies run services between Johor, Malaysia and Semarang, Indonesia?

AirAsia, Indonesia AirAsia, and two other airlines fly from Senai International Airport (JHB) to Ahmad Yani (SRG) twice daily.

Transport is disrupted due to the Russia-Ukraine war. Read more

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 Italy Travel Guides, How to get from Stansted Airport into central London, and Which London airport should I choose? - to help you get the most out of your next trip.