Surabaya can be reached by air, train and road from Jakarta.
The most convenient way for Indians to reach Surabaya is through Jakarta, by taking a flight to Soekarno Hatta from Delhi, Chennai or Kolkata.
Surabaya's Juanda Airport is the second busiest in the country, with very frequent flights to Jakarta and other major Indonesian destinations, as well as some direct international flights to destinations including Singapore, Kuala Lumpur, Penang, Bangkok, Hong Kong and Taipei. Therefore it is very well connected by air.
Taxis are found everywhere around Surabaya, but the more reliable ones belong to the Blue Bird, OrenzTaxi, Silver and Express taxi companies. Tourists are advised to always insist on metered fare.
Surabaya has two main railway stations, Surabaya Pasar Turi and Surabaya Gubeng, with first and second class divisions. Reservations can be made up to 30 days prior to the journey. It is connected to Jakarta, Semarang, Bandung and Yogyakarta via railways.
Surabaya is well-connected by bus routes to places around Java, and is well connected to Jakarta and Bali, for ltickets costing less than IDR 200,000.
There are daily ferry services from Surabayaês Tanjun Perak to different places around Indonesia.
The preferred mode of transport for most locals is becak(bicycle driven cart), taxis and buses- Surabaya is like any other metropolitan city, with its own network of trains as well.