Rome2Rio

How to get fromBatam to Yogyakartaby plane, train, ferry or bus

Find Transport to Yogyakarta

See all options

There are 6 ways to get from Batam to Yogyakarta 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 Yogyakarta International Airport, train

    best
    1. Fly from Hang Nadim International Airport (BTH) to Yogyakarta International Airport (YIA)planeBTH - YIA
    2. Take the train from Yogyakarta International Airport to Yogyakarta Tugu Stationtrain
    3h 46m
    Rp 1,619,561–2,767,663
  2. Ferry, bus via Bekasi

    cheapest
    1. Take the ferry from Batu Ampar to Port of Tanjung PriokferryKM Kelud
    2. Take the bus from Bekasi to Yogyakartabus
    2d 3h
    Rp 503,760–635,900
  3. Ferry, train

    1. Take the ferry from Batu Ampar to Port of Tanjung PriokferryKM Kelud
    2. Take the train from Gambir Jakarta to Yogyakarta TugutrainTaksaka / ...
    46h 16m
    Rp 717,760–844,900
  4. Fly to Adisumarmo International Airport, train

    1. Fly from Hang Nadim International Airport (BTH) to Adisumarmo International Airport (SOC)planeBTH - SOC
    2. Take the train from Solo Balapan to Yogyakartatrain
    6h 11m
    Rp 2,121,562–3,144,664
  5. Fly to Ahmad Yani, train

    1. Fly from Hang Nadim International Airport (BTH) to Ahmad Yani (SRG)planeBTH - SRG
    2. Take the train from Semarang Poncol Station to Solobalapantrain
    3. Take the train from Solo Balapan to Yogyakartatrain
    6h 29m
    Rp 1,709,561–2,893,663
  6. Ferry, bus

    1. Take the ferry from Batu Ampar to Port of Tanjung PriokferryKM Kelud
    2. Take the bus from DAMRI Bus Station Jakarta to YogyakartabusJakarta - Yogyakarta
    47h 57m
    Rp 605,760–1,152,900

Hang Nadim International Airport (BTH) to Yogyakarta International Airport (YIA) flights

Calendar47Weekly Planes
Duration4h 14mAverage Duration
TicketRp 1,018,685Cheapest Price
See schedules

Questions & Answers

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

There is no direct connection from Batam to Yogyakarta. However, you can take the taxi to Hang Nadim International Airport (BTH) airport, fly to Yogyakarta International Airport (YIA), walk to Yogyakarta International Airport, then take the train to Yogyakarta Tugu Station. Alternatively, you can take a ferry from Batu Ampar to Yogyakarta Tugu via Port of Tanjung Priok, Term. Tj. Priok 1, Term. Senen, Sbr. St. Gambir, and Gambir Jakarta in around 46h 16m.

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 How do I buy a London Underground ticket?, Want to know more about Flixbus?, and How to get from London to Edinburgh - to help you get the most out of your next trip.