Photo: Temple incense.


Use the quicklinks below to jump to the desired section regarding transport in and around Surabaya.


Surabaya airport is located 25 kilometres south of town and is usually accessed via a toll road from central Surabaya. The journey from the city to the airport in a taxi should take no more than 45 minutes and cost 85,000 rupiah. Travelling from the airport into town, a ticket counter is in operation – expect to pay upwards of 85,000 rupiah to get to the centre of town.

Top of page


Surabaya has two main train stations, which are located with the city itself -- Gubeng servicing destinations to the east, south and west via Java's southern line and Pasar Turi servicing Semarang and Jakarta via Java's northern line. The only reason to visit Stasiun Pasar Turi is if you need to get directly to Jakarta or Semarang otherwise Stasiun Gubeng is the station required for onward travel. Timetables change regularly and it is best to check departure times at the station directly.

Stasiun Gubeng
Banyuwangi – 7hrs – 65,000 rupiah
Yogyakarta – 5hrs – 65,000 rupiah
Bandung – 12hrs – 235,000 rupiah
Jakarta – 12.5hrs – 305,000 rupiah

Stasiun Pasar Turi
Jakarta – 12.5hrs – 165,000 rupiah
Semarang – 4.5hrs – 90,000 rupiah

Top of page


Quite often in Indonesian cities there are multiple bus stations servicing different parts of the country making understanding which one to depart from very difficult to figure out. Thankfully, Surabaya only has one bus terminal for intercity travel which is called Purabaya/Bungurasih and located approximately 13 kilometres south of town. Many city buses head to Purabaya from various locations in the city centre and it is a simply a matter of flagging one of these down and paying the 3,000 rupiah fare. A taxi here from the centre of the city should cost 40,000 rupiah.

Probolinggo – 2hrs – 12,500 rupiah
Bondowoso – 4hrs – 40,000 rupiah
Banyuwangi – 6hrs – 40,000 rupiah
Malang – 2hrs – 11,600 rupiah
Semarang – 5hrs – 48,000 rupiah
Solo – 7hrs – 42,400 rupiah
Yogyakarta – 8.5hrs – 52,500 rupiah
Bandung – 18hrs – 106,500 rupiah
Jakarta – 21hrs – 128.000 rupiah
Denpasar – 12hrs – 61,600 rupiah
Padang Bai – 14hrs – 69,400 rupiah

Servicing East and Central Java, Cipaganti Travel provides modern air-con shuttle bus services to many of the bigger towns. It's often a much faster and more comfortable way to travel and is a good option for those sick of hot, stuffy buses. The fares are not too bad when you factor in the cost of travel to and from the bus stations of big cities which often lay some way out of town.

Yogyakarta – 110,000 rupiah
Solo – 95,000 rupiah
Semarang – 120,000 rupiah
Malang – 60,000 rupiah
Bondowoso – 90,000 rupiah
Denpasar – 170,000 rupiah
Banyuwangi – 110,000 rupiah

Top of page

Getting around

Taxis are common in Surabaya and a welcome relief from the stifling heat of the day after trudging to the various different parts of town. Flagfall is 5,000 rupiah (sometimes 6,000 rupiah) and a 10-minute journey will cost around 15,000 rupiah. Try for Bluebird Group or Cipaganti taxis as they have a good reputation for honesty.

Becaks (rickshaws) are very common in Surabaya and are quite a beautiful way to see the sites of the city. The drivers set a surprisingly fast pace and you can expect to travel four kilometres in about 15 minutes at a cost of 10,000 rupiah, meaning that most parts of town are accessible for this fee.

Top of page

Where to next?

Where are you planning on heading to after Surabaya? Here are some spots commonly visited from here, or click here to see a full destination list for Indonesia.

Top of page