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.
For details regarding Indonesiaês Visa policy for Indians, visit http://www.kjrimumbai.net/consular/visarequirements_old2.htm
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.
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.