What is the best way to travel from Jakarta to Surabaya?
Looking for a trip? Check and compare all the available Buses and Flights to Surabaya from Jakarta. Look at different modes of transportation, search for the cheapest tickets, fastest rides and most popular stations, and see all 17 available companies to find your perfect trip!
What is the cheapest way to reach Surabaya from Jakarta?
You can reach Surabaya with just £11 by taking a Bus from Sarwonadhi Trans, but there are many more cheap offers: we have selected the best ones for you for the next few days here.
-
Sarwonadhi Trans10h 40m009:00JakartaTeuku Umar 8 Coach Station18:40SurabayaCentral Station0EconomyA Bus from Sarwonadhi Trans goes from Teuku Umar 8 Coach Station, Jakarta (Indonesia) at 01/08/2026 09:00:00 to Central Station, Surabaya (Indonesia) arriving at 01/08/2026 18:40:00. 50 Economy ticket for £11 per person are available. Travel duration is 10h 40m
-
Sarwonadhi Trans12h 0m016:30JakartaTeuku Umar 8 Coach Station03:30SurabayaCentral Station0EconomyA Bus from Sarwonadhi Trans goes from Teuku Umar 8 Coach Station, Jakarta (Indonesia) at 01/08/2026 16:30:00 to Central Station, Surabaya (Indonesia) arriving at 02/08/2026 03:30:00. 50 Economy ticket for £11 per person are available. Travel duration is 12h 0m
-
Tiara Mas12h 56m015:30JakartaKalideres Central Bus Station04:26SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Tiara Mas goes from Kalideres Central Bus Station, Jakarta (Indonesia) at 01/08/2026 15:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 02/08/2026 04:26:00. 50 Economy ticket for £14 per person are available. Travel duration is 12h 56m
-
Tiara Mas12h 6m019:00JakartaTerminal Pulo Gebang07:06SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Tiara Mas goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 01/08/2026 19:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 02/08/2026 07:06:00. 50 Economy ticket for £14 per person are available. Travel duration is 12h 6m
-
Harapan Jaya14h 30m006:00JakartaJalan Ciputat Bus Stop20:30SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Harapan Jaya goes from Jalan Ciputat Bus Stop, Jakarta (Indonesia) at 01/08/2026 06:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 01/08/2026 20:30:00. 50 Economy ticket for £15 per person are available. Travel duration is 14h 30m
-
Batik Air1h 25m005:25Halim Perdanakusuma AirportHalim Perdanakusuma Airport06:50Surabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 01/08/2026 05:25:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 01/08/2026 06:50:00. 50 Economy ticket for £62 per person are available. Travel duration is 1h 25m
-
Lion Air1h 30m009:00Jakarta AirportJakarta Airport10:30Surabaya AirportSurabaya Airport0EconomyA Flight from Lion Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 01/08/2026 09:00:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 01/08/2026 10:30:00. 50 Economy ticket for £66 per person are available. Travel duration is 1h 30m
-
Garuda Indonesia1h 40m016:00Jakarta AirportJakarta Airport17:40Surabaya AirportSurabaya Airport0EconomyA Flight from Garuda Indonesia goes from Jakarta Airport, Jakarta Airport (Indonesia) at 01/08/2026 16:00:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 01/08/2026 17:40:00. 50 Economy ticket for £68 per person are available. Travel duration is 1h 40m
-
Citilink1h 30m007:05Halim Perdanakusuma AirportHalim Perdanakusuma Airport08:35Surabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 01/08/2026 07:05:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 01/08/2026 08:35:00. 50 Economy ticket for £73 per person are available. Travel duration is 1h 30m
-
Pelita Air1h 35m006:30Jakarta AirportJakarta Airport08:05Surabaya AirportSurabaya Airport0EconomyA Flight from Pelita Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 01/08/2026 06:30:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 01/08/2026 08:05:00. 50 Economy ticket for £73 per person are available. Travel duration is 1h 35m
Cheapest Buses Saturday
Cheapest Flights Saturday
-
Sarwonadhi Trans10h 40m009:00JakartaTeuku Umar 8 Coach Station18:40SurabayaCentral Station0EconomyA Bus from Sarwonadhi Trans goes from Teuku Umar 8 Coach Station, Jakarta (Indonesia) at 02/08/2026 09:00:00 to Central Station, Surabaya (Indonesia) arriving at 02/08/2026 18:40:00. 50 Economy ticket for £11 per person are available. Travel duration is 10h 40m
-
Angkasa Trans Jaya20h 30m019:30JakartaTerminal Pulo Gebang16:00SurabayaCentral Station0EconomyA Bus from Angkasa Trans Jaya goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 02/08/2026 19:30:00 to Central Station, Surabaya (Indonesia) arriving at 03/08/2026 16:00:00. 50 Economy ticket for £13 per person are available. Travel duration is 20h 30m
-
Tiara Mas12h 56m015:30JakartaKalideres Central Bus Station04:26SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Tiara Mas goes from Kalideres Central Bus Station, Jakarta (Indonesia) at 02/08/2026 15:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 03/08/2026 04:26:00. 50 Economy ticket for £14 per person are available. Travel duration is 12h 56m
-
Harapan Jaya14h 30m006:00JakartaJalan Ciputat Bus Stop20:30SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Harapan Jaya goes from Jalan Ciputat Bus Stop, Jakarta (Indonesia) at 02/08/2026 06:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 02/08/2026 20:30:00. 50 Economy ticket for £15 per person are available. Travel duration is 14h 30m
-
Kramat Djati23h 37m013:00JakartaKalideres Central Bus Station12:37SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Kramat Djati goes from Kalideres Central Bus Station, Jakarta (Indonesia) at 02/08/2026 13:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 03/08/2026 12:37:00. 50 Economy ticket for £15 per person are available. Travel duration is 23h 37m
-
Lion Air1h 30m003:30Jakarta AirportJakarta Airport05:00Surabaya AirportSurabaya Airport0EconomyA Flight from Lion Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 02/08/2026 03:30:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 02/08/2026 05:00:00. 50 Economy ticket for £49 per person are available. Travel duration is 1h 30m
-
Citilink1h 40m006:05Soekarno-Hatta AirportStasiun KA Bandara Bus Stop07:45Surabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 02/08/2026 06:05:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 02/08/2026 07:45:00. 50 Economy ticket for £59 per person are available. Travel duration is 1h 40m
-
Thai Lion Air1h 30m003:30Soekarno-Hatta AirportStasiun KA Bandara Bus Stop05:00Surabaya AirportSurabaya Airport0EconomyA Flight from Thai Lion Air goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 02/08/2026 03:30:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 02/08/2026 05:00:00. 50 Economy ticket for £61 per person are available. Travel duration is 1h 30m
-
Batik Air1h 30m006:00Jakarta AirportJakarta Airport07:30Surabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 02/08/2026 06:00:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 02/08/2026 07:30:00. 50 Economy ticket for £63 per person are available. Travel duration is 1h 30m
-
Pelita Air1h 30m008:25Jakarta AirportJakarta Airport09:55Surabaya AirportSurabaya Airport0EconomyA Flight from Pelita Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 02/08/2026 08:25:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 02/08/2026 09:55:00. 50 Economy ticket for £67 per person are available. Travel duration is 1h 30m
Cheapest Buses Sunday
Cheapest Flights Sunday
-
Angkasa Trans Jaya20h 30m019:30JakartaTerminal Pulo Gebang16:00SurabayaCentral Station0EconomyA Bus from Angkasa Trans Jaya goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 03/08/2026 19:30:00 to Central Station, Surabaya (Indonesia) arriving at 04/08/2026 16:00:00. 50 Economy ticket for £13 per person are available. Travel duration is 20h 30m
-
Gunung Harta17h 30m012:00JakartaTerminal Manggarai05:30SurabayaCentral Station0EconomyA Bus from Gunung Harta goes from Terminal Manggarai, Jakarta (Indonesia) at 03/08/2026 12:00:00 to Central Station, Surabaya (Indonesia) arriving at 04/08/2026 05:30:00. 50 Economy ticket for £14 per person are available. Travel duration is 17h 30m
-
Haryanto Bojonegoro14h 15m008:30JakartaTerminal Manggarai22:45SurabayaCentral Station0EconomyA Bus from Haryanto Bojonegoro goes from Terminal Manggarai, Jakarta (Indonesia) at 03/08/2026 08:30:00 to Central Station, Surabaya (Indonesia) arriving at 03/08/2026 22:45:00. 50 Economy ticket for £14 per person are available. Travel duration is 14h 15m
-
Kramat Djati17h 30m013:00JakartaTerminal Manggarai06:30SurabayaCentral Station0EconomyA Bus from Kramat Djati goes from Terminal Manggarai, Jakarta (Indonesia) at 03/08/2026 13:00:00 to Central Station, Surabaya (Indonesia) arriving at 04/08/2026 06:30:00. 50 Economy ticket for £14 per person are available. Travel duration is 17h 30m
-
Tiara Mas12h 28m017:00JakartaTerminal Kampung Rambutan05:28SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Tiara Mas goes from Terminal Kampung Rambutan, Jakarta (Indonesia) at 03/08/2026 17:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 04/08/2026 05:28:00. 50 Economy ticket for £14 per person are available. Travel duration is 12h 28m
-
Lion Air1h 30m003:30Jakarta AirportJakarta Airport05:00Surabaya AirportSurabaya Airport0EconomyA Flight from Lion Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 03/08/2026 03:30:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 03/08/2026 05:00:00. 50 Economy ticket for £49 per person are available. Travel duration is 1h 30m
-
Citilink1h 40m009:15Soekarno-Hatta AirportStasiun KA Bandara Bus Stop10:55Surabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 03/08/2026 09:15:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 03/08/2026 10:55:00. 50 Economy ticket for £59 per person are available. Travel duration is 1h 40m
-
Thai Lion Air1h 30m003:30Soekarno-Hatta AirportStasiun KA Bandara Bus Stop05:00Surabaya AirportSurabaya Airport0EconomyA Flight from Thai Lion Air goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 03/08/2026 03:30:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 03/08/2026 05:00:00. 50 Economy ticket for £61 per person are available. Travel duration is 1h 30m
-
Batik Air1h 30m006:00Jakarta AirportJakarta Airport07:30Surabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 03/08/2026 06:00:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 03/08/2026 07:30:00. 50 Economy ticket for £66 per person are available. Travel duration is 1h 30m
-
Pelita Air1h 35m006:30Jakarta AirportJakarta Airport08:05Surabaya AirportSurabaya Airport0EconomyA Flight from Pelita Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 03/08/2026 06:30:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 03/08/2026 08:05:00. 50 Economy ticket for £66 per person are available. Travel duration is 1h 35m
Cheapest Buses Monday
Cheapest Flights Monday
-
Kramat Djati19h 34m016:00JakartaTerminal Pulo Gebang11:34SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Kramat Djati goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 04/08/2026 16:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 05/08/2026 11:34:00. 50 Economy ticket for £14 per person are available. Travel duration is 19h 34m
-
Tiara Mas12h 6m019:00JakartaTerminal Pulo Gebang07:06SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Tiara Mas goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 04/08/2026 19:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 05/08/2026 07:06:00. 50 Economy ticket for £14 per person are available. Travel duration is 12h 6m
-
Harapan Jaya14h 30m006:00JakartaJalan Ciputat Bus Stop20:30SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Harapan Jaya goes from Jalan Ciputat Bus Stop, Jakarta (Indonesia) at 04/08/2026 06:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 04/08/2026 20:30:00. 50 Economy ticket for £15 per person are available. Travel duration is 14h 30m
-
Harapan Jaya14h 30m012:30JakartaJalan Ciputat Bus Stop03:00SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Harapan Jaya goes from Jalan Ciputat Bus Stop, Jakarta (Indonesia) at 04/08/2026 12:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 05/08/2026 03:00:00. 50 Economy ticket for £15 per person are available. Travel duration is 14h 30m
-
Kramat Djati14h 51m017:00JakartaTerminal Pulo Gebang07:51SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Kramat Djati goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 04/08/2026 17:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 05/08/2026 07:51:00. 50 Economy ticket for £15 per person are available. Travel duration is 14h 51m
-
Citilink1h 30m007:05Halim Perdanakusuma AirportHalim Perdanakusuma Airport08:35Surabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 04/08/2026 07:05:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 04/08/2026 08:35:00. 50 Economy ticket for £72 per person are available. Travel duration is 1h 30m
-
Citilink1h 30m012:30Halim Perdanakusuma AirportHalim Perdanakusuma Airport14:00Surabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 04/08/2026 12:30:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 04/08/2026 14:00:00. 50 Economy ticket for £72 per person are available. Travel duration is 1h 30m
-
Citilink1h 25m020:20Halim Perdanakusuma AirportHalim Perdanakusuma Airport21:45Surabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 04/08/2026 20:20:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 04/08/2026 21:45:00. 50 Economy ticket for £72 per person are available. Travel duration is 1h 25m
-
Batik Air1h 25m005:25Halim Perdanakusuma AirportHalim Perdanakusuma Airport06:50Surabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 04/08/2026 05:25:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 04/08/2026 06:50:00. 50 Economy ticket for £80 per person are available. Travel duration is 1h 25m
-
Batik Air1h 25m008:50Halim Perdanakusuma AirportHalim Perdanakusuma Airport10:15Surabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 04/08/2026 08:50:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 04/08/2026 10:15:00. 50 Economy ticket for £80 per person are available. Travel duration is 1h 25m
Cheapest Buses Tuesday
Cheapest Flights Tuesday
-
Tiara Mas12h 28m017:00JakartaTerminal Kampung Rambutan05:28SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Tiara Mas goes from Terminal Kampung Rambutan, Jakarta (Indonesia) at 05/08/2026 17:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 06/08/2026 05:28:00. 50 Economy ticket for £14 per person are available. Travel duration is 12h 28m
-
Harapan Jaya13h 0m006:30JakartaTerminal Pondok Pinang19:30SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Harapan Jaya goes from Terminal Pondok Pinang, Jakarta (Indonesia) at 05/08/2026 06:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 05/08/2026 19:30:00. 50 Economy ticket for £15 per person are available. Travel duration is 13h 0m
-
Harapan Jaya13h 0m013:00JakartaTerminal Pondok Pinang02:00SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Harapan Jaya goes from Terminal Pondok Pinang, Jakarta (Indonesia) at 05/08/2026 13:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 06/08/2026 02:00:00. 50 Economy ticket for £15 per person are available. Travel duration is 13h 0m
-
Kramat Djati13h 30m016:00JakartaTerminal Kampung Rambutan05:30SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Kramat Djati goes from Terminal Kampung Rambutan, Jakarta (Indonesia) at 05/08/2026 16:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 06/08/2026 05:30:00. 50 Economy ticket for £16 per person are available. Travel duration is 13h 30m
Cheapest Buses Wednesday
-
Harapan Jaya13h 0m007:30JakartaTerminal Pulo Gebang20:30SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Harapan Jaya goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 06/08/2026 07:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 06/08/2026 20:30:00. 50 Economy ticket for £15 per person are available. Travel duration is 13h 0m
-
Harapan Jaya13h 0m014:00JakartaTerminal Pulo Gebang03:00SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Harapan Jaya goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 06/08/2026 14:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 07/08/2026 03:00:00. 50 Economy ticket for £15 per person are available. Travel duration is 13h 0m
-
Harapan Jaya13h 0m017:00JakartaTerminal Pulo Gebang06:00SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Harapan Jaya goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 06/08/2026 17:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 07/08/2026 06:00:00. 50 Economy ticket for £17 per person are available. Travel duration is 13h 0m
-
Harapan Jaya13h 0m018:30JakartaTerminal Pulo Gebang07:30SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Harapan Jaya goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 06/08/2026 18:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 07/08/2026 07:30:00. 50 Economy ticket for £17 per person are available. Travel duration is 13h 0m
-
Lion Air1h 30m003:30Jakarta AirportJakarta Airport05:00Surabaya AirportSurabaya Airport0EconomyA Flight from Lion Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 06/08/2026 03:30:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 06/08/2026 05:00:00. 50 Economy ticket for £49 per person are available. Travel duration is 1h 30m
-
Citilink1h 40m005:00Soekarno-Hatta AirportStasiun KA Bandara Bus Stop06:40Surabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 06/08/2026 05:00:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 06/08/2026 06:40:00. 50 Economy ticket for £62 per person are available. Travel duration is 1h 40m
-
Pelita Air1h 30m008:25Jakarta AirportJakarta Airport09:55Surabaya AirportSurabaya Airport0EconomyA Flight from Pelita Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 06/08/2026 08:25:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 06/08/2026 09:55:00. 50 Economy ticket for £68 per person are available. Travel duration is 1h 30m
-
Batik Air1h 30m006:00Jakarta AirportJakarta Airport07:30Surabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 06/08/2026 06:00:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 06/08/2026 07:30:00. 50 Economy ticket for £69 per person are available. Travel duration is 1h 30m
-
Garuda Indonesia1h 40m006:50Jakarta AirportJakarta Airport08:30Surabaya AirportSurabaya Airport0EconomyA Flight from Garuda Indonesia goes from Jakarta Airport, Jakarta Airport (Indonesia) at 06/08/2026 06:50:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 06/08/2026 08:30:00. 50 Economy ticket for £89 per person are available. Travel duration is 1h 40m
Cheapest Buses Thursday
Cheapest Flights Thursday
-
Kramat Djati21h 36m014:30JakartaTerminal Pondok Pinang12:06SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Kramat Djati goes from Terminal Pondok Pinang, Jakarta (Indonesia) at 07/08/2026 14:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 08/08/2026 12:06:00. 50 Economy ticket for £14 per person are available. Travel duration is 21h 36m
-
Tiara Mas12h 28m017:00JakartaTerminal Kampung Rambutan05:28SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Tiara Mas goes from Terminal Kampung Rambutan, Jakarta (Indonesia) at 07/08/2026 17:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 08/08/2026 05:28:00. 50 Economy ticket for £14 per person are available. Travel duration is 12h 28m
-
Harapan Jaya14h 30m006:00JakartaJalan Ciputat Bus Stop20:30SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Harapan Jaya goes from Jalan Ciputat Bus Stop, Jakarta (Indonesia) at 07/08/2026 06:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 07/08/2026 20:30:00. 50 Economy ticket for £15 per person are available. Travel duration is 14h 30m
-
Harapan Jaya14h 30m012:30JakartaJalan Ciputat Bus Stop03:00SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Harapan Jaya goes from Jalan Ciputat Bus Stop, Jakarta (Indonesia) at 07/08/2026 12:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 08/08/2026 03:00:00. 50 Economy ticket for £15 per person are available. Travel duration is 14h 30m
-
Kramat Djati16h 52m015:00JakartaTerminal Pondok Pinang07:52SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Kramat Djati goes from Terminal Pondok Pinang, Jakarta (Indonesia) at 07/08/2026 15:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 08/08/2026 07:52:00. 50 Economy ticket for £15 per person are available. Travel duration is 16h 52m
-
Lion Air1h 30m003:30Jakarta AirportJakarta Airport05:00Surabaya AirportSurabaya Airport0EconomyA Flight from Lion Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 07/08/2026 03:30:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 07/08/2026 05:00:00. 50 Economy ticket for £49 per person are available. Travel duration is 1h 30m
-
Citilink1h 40m005:00Soekarno-Hatta AirportStasiun KA Bandara Bus Stop06:40Surabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 07/08/2026 05:00:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 07/08/2026 06:40:00. 50 Economy ticket for £63 per person are available. Travel duration is 1h 40m
-
Pelita Air1h 35m006:30Jakarta AirportJakarta Airport08:05Surabaya AirportSurabaya Airport0EconomyA Flight from Pelita Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 07/08/2026 06:30:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 07/08/2026 08:05:00. 50 Economy ticket for £67 per person are available. Travel duration is 1h 35m
-
Batik Air1h 30m006:00Jakarta AirportJakarta Airport07:30Surabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 07/08/2026 06:00:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 07/08/2026 07:30:00. 50 Economy ticket for £68 per person are available. Travel duration is 1h 30m
-
Garuda Indonesia1h 40m006:50Soekarno-Hatta AirportStasiun KA Bandara Bus Stop08:30Surabaya AirportSurabaya Airport0EconomyA Flight from Garuda Indonesia goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 07/08/2026 06:50:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 07/08/2026 08:30:00. 50 Economy ticket for £87 per person are available. Travel duration is 1h 40m
Cheapest Buses Friday
Cheapest Flights Friday
What are the fastest trips from Jakarta to Surabaya?
You can get to Surabaya from Jakarta in just 1h 25m with a Flight from Batik Air. But this is just one option, click on any of the offers below to compare it with the other available modes of transportations.
-
Batik Air1h 25m005:25Halim Perdanakusuma AirportHalim Perdanakusuma Airport06:50Surabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 01/08/2026 05:25:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 01/08/2026 06:50:00. 50 Economy ticket for £62 per person are available. Travel duration is 1h 25m
-
Lion Air1h 30m009:00Jakarta AirportJakarta Airport10:30Surabaya AirportSurabaya Airport0EconomyA Flight from Lion Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 01/08/2026 09:00:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 01/08/2026 10:30:00. 50 Economy ticket for £66 per person are available. Travel duration is 1h 30m
-
Citilink1h 30m007:05Halim Perdanakusuma AirportHalim Perdanakusuma Airport08:35Surabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 01/08/2026 07:05:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 01/08/2026 08:35:00. 50 Economy ticket for £73 per person are available. Travel duration is 1h 30m
-
Pelita Air1h 35m006:30Jakarta AirportJakarta Airport08:05Surabaya AirportSurabaya Airport0EconomyA Flight from Pelita Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 01/08/2026 06:30:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 01/08/2026 08:05:00. 50 Economy ticket for £73 per person are available. Travel duration is 1h 35m
-
Garuda Indonesia1h 40m016:00Jakarta AirportJakarta Airport17:40Surabaya AirportSurabaya Airport0EconomyA Flight from Garuda Indonesia goes from Jakarta Airport, Jakarta Airport (Indonesia) at 01/08/2026 16:00:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 01/08/2026 17:40:00. 50 Economy ticket for £68 per person are available. Travel duration is 1h 40m
-
Sarwonadhi Trans10h 40m009:00JakartaTeuku Umar 8 Coach Station18:40SurabayaCentral Station0EconomyA Bus from Sarwonadhi Trans goes from Teuku Umar 8 Coach Station, Jakarta (Indonesia) at 01/08/2026 09:00:00 to Central Station, Surabaya (Indonesia) arriving at 01/08/2026 18:40:00. 50 Economy ticket for £11 per person are available. Travel duration is 10h 40m
-
Sarwonadhi Trans12h 0m016:30JakartaTeuku Umar 8 Coach Station03:30SurabayaCentral Station0EconomyA Bus from Sarwonadhi Trans goes from Teuku Umar 8 Coach Station, Jakarta (Indonesia) at 01/08/2026 16:30:00 to Central Station, Surabaya (Indonesia) arriving at 02/08/2026 03:30:00. 50 Economy ticket for £11 per person are available. Travel duration is 12h 0m
-
Tiara Mas12h 6m019:00JakartaTerminal Pulo Gebang07:06SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Tiara Mas goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 01/08/2026 19:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 02/08/2026 07:06:00. 50 Economy ticket for £14 per person are available. Travel duration is 12h 6m
-
Tiara Mas12h 56m015:30JakartaKalideres Central Bus Station04:26SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Tiara Mas goes from Kalideres Central Bus Station, Jakarta (Indonesia) at 01/08/2026 15:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 02/08/2026 04:26:00. 50 Economy ticket for £14 per person are available. Travel duration is 12h 56m
-
Harapan Jaya14h 30m006:00JakartaJalan Ciputat Bus Stop20:30SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Harapan Jaya goes from Jalan Ciputat Bus Stop, Jakarta (Indonesia) at 01/08/2026 06:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 01/08/2026 20:30:00. 50 Economy ticket for £15 per person are available. Travel duration is 14h 30m
Fastest Flights Saturday
Fastest Buses Saturday
-
Lion Air1h 30m003:30Jakarta AirportJakarta Airport05:00Surabaya AirportSurabaya Airport0EconomyA Flight from Lion Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 02/08/2026 03:30:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 02/08/2026 05:00:00. 50 Economy ticket for £49 per person are available. Travel duration is 1h 30m
-
Thai Lion Air1h 30m003:30Soekarno-Hatta AirportStasiun KA Bandara Bus Stop05:00Surabaya AirportSurabaya Airport0EconomyA Flight from Thai Lion Air goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 02/08/2026 03:30:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 02/08/2026 05:00:00. 50 Economy ticket for £61 per person are available. Travel duration is 1h 30m
-
Batik Air1h 30m006:00Jakarta AirportJakarta Airport07:30Surabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 02/08/2026 06:00:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 02/08/2026 07:30:00. 50 Economy ticket for £63 per person are available. Travel duration is 1h 30m
-
Pelita Air1h 30m008:25Jakarta AirportJakarta Airport09:55Surabaya AirportSurabaya Airport0EconomyA Flight from Pelita Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 02/08/2026 08:25:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 02/08/2026 09:55:00. 50 Economy ticket for £67 per person are available. Travel duration is 1h 30m
-
Citilink1h 40m006:05Soekarno-Hatta AirportStasiun KA Bandara Bus Stop07:45Surabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 02/08/2026 06:05:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 02/08/2026 07:45:00. 50 Economy ticket for £59 per person are available. Travel duration is 1h 40m
-
Sarwonadhi Trans10h 40m009:00JakartaTeuku Umar 8 Coach Station18:40SurabayaCentral Station0EconomyA Bus from Sarwonadhi Trans goes from Teuku Umar 8 Coach Station, Jakarta (Indonesia) at 02/08/2026 09:00:00 to Central Station, Surabaya (Indonesia) arriving at 02/08/2026 18:40:00. 50 Economy ticket for £11 per person are available. Travel duration is 10h 40m
-
Tiara Mas12h 56m015:30JakartaKalideres Central Bus Station04:26SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Tiara Mas goes from Kalideres Central Bus Station, Jakarta (Indonesia) at 02/08/2026 15:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 03/08/2026 04:26:00. 50 Economy ticket for £14 per person are available. Travel duration is 12h 56m
-
Harapan Jaya14h 30m006:00JakartaJalan Ciputat Bus Stop20:30SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Harapan Jaya goes from Jalan Ciputat Bus Stop, Jakarta (Indonesia) at 02/08/2026 06:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 02/08/2026 20:30:00. 50 Economy ticket for £15 per person are available. Travel duration is 14h 30m
-
Angkasa Trans Jaya20h 30m019:30JakartaTerminal Pulo Gebang16:00SurabayaCentral Station0EconomyA Bus from Angkasa Trans Jaya goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 02/08/2026 19:30:00 to Central Station, Surabaya (Indonesia) arriving at 03/08/2026 16:00:00. 50 Economy ticket for £13 per person are available. Travel duration is 20h 30m
-
Kramat Djati23h 37m013:00JakartaKalideres Central Bus Station12:37SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Kramat Djati goes from Kalideres Central Bus Station, Jakarta (Indonesia) at 02/08/2026 13:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 03/08/2026 12:37:00. 50 Economy ticket for £15 per person are available. Travel duration is 23h 37m
Fastest Flights Sunday
Fastest Buses Sunday
-
Lion Air1h 30m003:30Jakarta AirportJakarta Airport05:00Surabaya AirportSurabaya Airport0EconomyA Flight from Lion Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 03/08/2026 03:30:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 03/08/2026 05:00:00. 50 Economy ticket for £49 per person are available. Travel duration is 1h 30m
-
Thai Lion Air1h 30m003:30Soekarno-Hatta AirportStasiun KA Bandara Bus Stop05:00Surabaya AirportSurabaya Airport0EconomyA Flight from Thai Lion Air goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 03/08/2026 03:30:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 03/08/2026 05:00:00. 50 Economy ticket for £61 per person are available. Travel duration is 1h 30m
-
Batik Air1h 30m006:00Jakarta AirportJakarta Airport07:30Surabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 03/08/2026 06:00:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 03/08/2026 07:30:00. 50 Economy ticket for £66 per person are available. Travel duration is 1h 30m
-
Pelita Air1h 35m006:30Jakarta AirportJakarta Airport08:05Surabaya AirportSurabaya Airport0EconomyA Flight from Pelita Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 03/08/2026 06:30:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 03/08/2026 08:05:00. 50 Economy ticket for £66 per person are available. Travel duration is 1h 35m
-
Citilink1h 40m009:15Soekarno-Hatta AirportStasiun KA Bandara Bus Stop10:55Surabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 03/08/2026 09:15:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 03/08/2026 10:55:00. 50 Economy ticket for £59 per person are available. Travel duration is 1h 40m
-
Tiara Mas12h 28m017:00JakartaTerminal Kampung Rambutan05:28SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Tiara Mas goes from Terminal Kampung Rambutan, Jakarta (Indonesia) at 03/08/2026 17:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 04/08/2026 05:28:00. 50 Economy ticket for £14 per person are available. Travel duration is 12h 28m
-
Haryanto Bojonegoro14h 15m008:30JakartaTerminal Manggarai22:45SurabayaCentral Station0EconomyA Bus from Haryanto Bojonegoro goes from Terminal Manggarai, Jakarta (Indonesia) at 03/08/2026 08:30:00 to Central Station, Surabaya (Indonesia) arriving at 03/08/2026 22:45:00. 50 Economy ticket for £14 per person are available. Travel duration is 14h 15m
-
Gunung Harta17h 30m012:00JakartaTerminal Manggarai05:30SurabayaCentral Station0EconomyA Bus from Gunung Harta goes from Terminal Manggarai, Jakarta (Indonesia) at 03/08/2026 12:00:00 to Central Station, Surabaya (Indonesia) arriving at 04/08/2026 05:30:00. 50 Economy ticket for £14 per person are available. Travel duration is 17h 30m
-
Kramat Djati17h 30m013:00JakartaTerminal Manggarai06:30SurabayaCentral Station0EconomyA Bus from Kramat Djati goes from Terminal Manggarai, Jakarta (Indonesia) at 03/08/2026 13:00:00 to Central Station, Surabaya (Indonesia) arriving at 04/08/2026 06:30:00. 50 Economy ticket for £14 per person are available. Travel duration is 17h 30m
-
Angkasa Trans Jaya20h 30m019:30JakartaTerminal Pulo Gebang16:00SurabayaCentral Station0EconomyA Bus from Angkasa Trans Jaya goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 03/08/2026 19:30:00 to Central Station, Surabaya (Indonesia) arriving at 04/08/2026 16:00:00. 50 Economy ticket for £13 per person are available. Travel duration is 20h 30m
Fastest Flights Monday
Fastest Buses Monday
-
Citilink1h 25m020:20Halim Perdanakusuma AirportHalim Perdanakusuma Airport21:45Surabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 04/08/2026 20:20:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 04/08/2026 21:45:00. 50 Economy ticket for £72 per person are available. Travel duration is 1h 25m
-
Batik Air1h 25m005:25Halim Perdanakusuma AirportHalim Perdanakusuma Airport06:50Surabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 04/08/2026 05:25:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 04/08/2026 06:50:00. 50 Economy ticket for £80 per person are available. Travel duration is 1h 25m
-
Batik Air1h 25m008:50Halim Perdanakusuma AirportHalim Perdanakusuma Airport10:15Surabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 04/08/2026 08:50:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 04/08/2026 10:15:00. 50 Economy ticket for £80 per person are available. Travel duration is 1h 25m
-
Citilink1h 30m007:05Halim Perdanakusuma AirportHalim Perdanakusuma Airport08:35Surabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 04/08/2026 07:05:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 04/08/2026 08:35:00. 50 Economy ticket for £72 per person are available. Travel duration is 1h 30m
-
Citilink1h 30m012:30Halim Perdanakusuma AirportHalim Perdanakusuma Airport14:00Surabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Halim Perdanakusuma Airport, Halim Perdanakusuma Airport (Indonesia) at 04/08/2026 12:30:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 04/08/2026 14:00:00. 50 Economy ticket for £72 per person are available. Travel duration is 1h 30m
-
Tiara Mas12h 6m019:00JakartaTerminal Pulo Gebang07:06SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Tiara Mas goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 04/08/2026 19:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 05/08/2026 07:06:00. 50 Economy ticket for £14 per person are available. Travel duration is 12h 6m
-
Harapan Jaya14h 30m006:00JakartaJalan Ciputat Bus Stop20:30SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Harapan Jaya goes from Jalan Ciputat Bus Stop, Jakarta (Indonesia) at 04/08/2026 06:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 04/08/2026 20:30:00. 50 Economy ticket for £15 per person are available. Travel duration is 14h 30m
-
Harapan Jaya14h 30m012:30JakartaJalan Ciputat Bus Stop03:00SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Harapan Jaya goes from Jalan Ciputat Bus Stop, Jakarta (Indonesia) at 04/08/2026 12:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 05/08/2026 03:00:00. 50 Economy ticket for £15 per person are available. Travel duration is 14h 30m
-
Kramat Djati14h 51m017:00JakartaTerminal Pulo Gebang07:51SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Kramat Djati goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 04/08/2026 17:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 05/08/2026 07:51:00. 50 Economy ticket for £15 per person are available. Travel duration is 14h 51m
-
Kramat Djati19h 34m016:00JakartaTerminal Pulo Gebang11:34SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Kramat Djati goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 04/08/2026 16:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 05/08/2026 11:34:00. 50 Economy ticket for £14 per person are available. Travel duration is 19h 34m
Fastest Flights Tuesday
Fastest Buses Tuesday
-
Tiara Mas12h 28m017:00JakartaTerminal Kampung Rambutan05:28SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Tiara Mas goes from Terminal Kampung Rambutan, Jakarta (Indonesia) at 05/08/2026 17:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 06/08/2026 05:28:00. 50 Economy ticket for £14 per person are available. Travel duration is 12h 28m
-
Harapan Jaya13h 0m006:30JakartaTerminal Pondok Pinang19:30SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Harapan Jaya goes from Terminal Pondok Pinang, Jakarta (Indonesia) at 05/08/2026 06:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 05/08/2026 19:30:00. 50 Economy ticket for £15 per person are available. Travel duration is 13h 0m
-
Harapan Jaya13h 0m013:00JakartaTerminal Pondok Pinang02:00SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Harapan Jaya goes from Terminal Pondok Pinang, Jakarta (Indonesia) at 05/08/2026 13:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 06/08/2026 02:00:00. 50 Economy ticket for £15 per person are available. Travel duration is 13h 0m
-
Kramat Djati13h 30m016:00JakartaTerminal Kampung Rambutan05:30SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Kramat Djati goes from Terminal Kampung Rambutan, Jakarta (Indonesia) at 05/08/2026 16:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 06/08/2026 05:30:00. 50 Economy ticket for £16 per person are available. Travel duration is 13h 30m
Fastest Buses Wednesday
-
Lion Air1h 30m003:30Jakarta AirportJakarta Airport05:00Surabaya AirportSurabaya Airport0EconomyA Flight from Lion Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 06/08/2026 03:30:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 06/08/2026 05:00:00. 50 Economy ticket for £49 per person are available. Travel duration is 1h 30m
-
Pelita Air1h 30m008:25Jakarta AirportJakarta Airport09:55Surabaya AirportSurabaya Airport0EconomyA Flight from Pelita Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 06/08/2026 08:25:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 06/08/2026 09:55:00. 50 Economy ticket for £68 per person are available. Travel duration is 1h 30m
-
Batik Air1h 30m006:00Jakarta AirportJakarta Airport07:30Surabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 06/08/2026 06:00:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 06/08/2026 07:30:00. 50 Economy ticket for £69 per person are available. Travel duration is 1h 30m
-
Citilink1h 40m005:00Soekarno-Hatta AirportStasiun KA Bandara Bus Stop06:40Surabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 06/08/2026 05:00:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 06/08/2026 06:40:00. 50 Economy ticket for £62 per person are available. Travel duration is 1h 40m
-
Garuda Indonesia1h 40m006:50Jakarta AirportJakarta Airport08:30Surabaya AirportSurabaya Airport0EconomyA Flight from Garuda Indonesia goes from Jakarta Airport, Jakarta Airport (Indonesia) at 06/08/2026 06:50:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 06/08/2026 08:30:00. 50 Economy ticket for £89 per person are available. Travel duration is 1h 40m
-
Harapan Jaya13h 0m007:30JakartaTerminal Pulo Gebang20:30SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Harapan Jaya goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 06/08/2026 07:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 06/08/2026 20:30:00. 50 Economy ticket for £15 per person are available. Travel duration is 13h 0m
-
Harapan Jaya13h 0m014:00JakartaTerminal Pulo Gebang03:00SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Harapan Jaya goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 06/08/2026 14:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 07/08/2026 03:00:00. 50 Economy ticket for £15 per person are available. Travel duration is 13h 0m
-
Harapan Jaya13h 0m017:00JakartaTerminal Pulo Gebang06:00SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Harapan Jaya goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 06/08/2026 17:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 07/08/2026 06:00:00. 50 Economy ticket for £17 per person are available. Travel duration is 13h 0m
-
Harapan Jaya13h 0m018:30JakartaTerminal Pulo Gebang07:30SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Harapan Jaya goes from Terminal Pulo Gebang, Jakarta (Indonesia) at 06/08/2026 18:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 07/08/2026 07:30:00. 50 Economy ticket for £17 per person are available. Travel duration is 13h 0m
Fastest Flights Thursday
Fastest Buses Thursday
-
Lion Air1h 30m003:30Jakarta AirportJakarta Airport05:00Surabaya AirportSurabaya Airport0EconomyA Flight from Lion Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 07/08/2026 03:30:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 07/08/2026 05:00:00. 50 Economy ticket for £49 per person are available. Travel duration is 1h 30m
-
Batik Air1h 30m006:00Jakarta AirportJakarta Airport07:30Surabaya AirportSurabaya Airport0EconomyA Flight from Batik Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 07/08/2026 06:00:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 07/08/2026 07:30:00. 50 Economy ticket for £68 per person are available. Travel duration is 1h 30m
-
Pelita Air1h 35m006:30Jakarta AirportJakarta Airport08:05Surabaya AirportSurabaya Airport0EconomyA Flight from Pelita Air goes from Jakarta Airport, Jakarta Airport (Indonesia) at 07/08/2026 06:30:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 07/08/2026 08:05:00. 50 Economy ticket for £67 per person are available. Travel duration is 1h 35m
-
Citilink1h 40m005:00Soekarno-Hatta AirportStasiun KA Bandara Bus Stop06:40Surabaya AirportSurabaya Airport0EconomyA Flight from Citilink goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 07/08/2026 05:00:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 07/08/2026 06:40:00. 50 Economy ticket for £63 per person are available. Travel duration is 1h 40m
-
Garuda Indonesia1h 40m006:50Soekarno-Hatta AirportStasiun KA Bandara Bus Stop08:30Surabaya AirportSurabaya Airport0EconomyA Flight from Garuda Indonesia goes from Stasiun KA Bandara Bus Stop, Soekarno-Hatta Airport (Indonesia) at 07/08/2026 06:50:00 to Surabaya Airport, Surabaya Airport (Indonesia) arriving at 07/08/2026 08:30:00. 50 Economy ticket for £87 per person are available. Travel duration is 1h 40m
-
Tiara Mas12h 28m017:00JakartaTerminal Kampung Rambutan05:28SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Tiara Mas goes from Terminal Kampung Rambutan, Jakarta (Indonesia) at 07/08/2026 17:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 08/08/2026 05:28:00. 50 Economy ticket for £14 per person are available. Travel duration is 12h 28m
-
Harapan Jaya14h 30m006:00JakartaJalan Ciputat Bus Stop20:30SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Harapan Jaya goes from Jalan Ciputat Bus Stop, Jakarta (Indonesia) at 07/08/2026 06:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 07/08/2026 20:30:00. 50 Economy ticket for £15 per person are available. Travel duration is 14h 30m
-
Harapan Jaya14h 30m012:30JakartaJalan Ciputat Bus Stop03:00SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Harapan Jaya goes from Jalan Ciputat Bus Stop, Jakarta (Indonesia) at 07/08/2026 12:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 08/08/2026 03:00:00. 50 Economy ticket for £15 per person are available. Travel duration is 14h 30m
-
Kramat Djati16h 52m015:00JakartaTerminal Pondok Pinang07:52SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Kramat Djati goes from Terminal Pondok Pinang, Jakarta (Indonesia) at 07/08/2026 15:00:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 08/08/2026 07:52:00. 50 Economy ticket for £15 per person are available. Travel duration is 16h 52m
-
Kramat Djati21h 36m014:30JakartaTerminal Pondok Pinang12:06SurabayaTerminal Purabaya-Bungurasih0EconomyA Bus from Kramat Djati goes from Terminal Pondok Pinang, Jakarta (Indonesia) at 07/08/2026 14:30:00 to Terminal Purabaya-Bungurasih, Surabaya (Indonesia) arriving at 08/08/2026 12:06:00. 50 Economy ticket for £14 per person are available. Travel duration is 21h 36m
Fastest Flights Friday
Fastest Buses Friday
Here you will find all operators and timetables for a
Bus from Jakarta to Surabaya
What are the most popular stations in Jakarta and Surabaya?
In Jakarta, you will usually depart from Terminal Pasar Minggu, Terminal Manggarai or Terminal Senen, while in Surabaya you will be arriving at Terminal Purabaya-Bungurasih, Gubeng Train Station or Central Station, but there are many more stops to explore in both locations.
How do I decide? Some tips and tricks from our experience
Are you having trouble deciding on how to get to Surabaya from Jakarta? With 9 connections between 17 Flight and Bus operators, it can be difficult to find the one ride that will make you happy. But we have some tips that can help you make the best informed decision. First of all, the best trip is always the one that meets all your needs, so make a list of all the things that you want from this journey and look for something that will satisfy all of them. Here we will go through some of the factors mostly commonly taken into consideration.
Look for the lowest price
Ticket price is usually the main concern: even if you can afford to pay more, why do it if there are cheaper options? Saving on the trip means that you can spend more on the vacation itself! Between Jakarta and Surabaya, you can pay as low as £11 with a Bus from Sarwonadhi Trans.Travel duration
Time is also an important factor. An earlier departure may allow you to see a beautiful sunset or relax before an important event. And remember, time is money, so paying more for a shorter trip may be well worth it. For longer distances, flights are without doubt the best options, but be mindful of airport times and possible delays: a high-speed train may end up cheaper and faster! Here the quicker option is definitely the Flight from Batik Air: you will get to Surabaya in just 1h 25m.Comfort makes all the difference
You should always take into account what your personal travelling preferences are. Is one hand luggage enough, or are you trasporting more? Would you like to have a snack during the journey? Can you relax in a busy compartment, or do you need space for yourself? Even among the same mode of transportation, different companies will offer you varying levels of comfort and amenities. The main operators connecting Jakarta and Surabaya are Harapan Jaya, Citilink and Tiara Mas, but be sure to check what they have to offer!Save money with deals, and always compare
One last tip? Even if you live in Jakarta and Surabaya is your only destination, it may be wise to check the offers from and to nearby cities or, if you are flyng, nearby airports. Check the trips from Tebet or to Surbaya, and look at flights from Halim Perdanakusuma Airport, and landing at Surabaya Airport. Comparing different routes may allow you to find deals or promotions you were not aware of. Consider also signing up to CheckMyBus to see even more exclusive promotions!Which companies offer a trip from Jakarta to Surabaya?
The most popular companies between Jakarta and Surabaya, are Harapan Jaya, Citilink and Tiara Mas. Be sure to check their seat class offers and the amenities that they provide.
Bus companies: Harapan Jaya, Tiara Mas, Kramat Djati and 4 more.
Airlines: Citilink, Batik Air, Lion Air and 3 more.
All you need to know when you travel from Jakarta to Surabaya
Check all information on comfort and services on all modes of transports from Jakarta to Surabaya. See which seat classes are available, and what amenities are other advantages offered by the operators on your journey.
FAQs about the trip from Jakarta to Surabaya
How can I reach Surabaya from Jakarta?
Every day, there are on average 9 connections between Flight and Bus, with which you can get to Surabaya from Jakarta.
How far is Surabaya from Jakarta?
The distance between Jakarta and Surabaya is 662.2 km.
What is the most ecofriendly mode of transport between Jakarta and Surabaya?
Trains and buses are by far the greenest options, with trains surpassing buses on longer routes. Planes will always be the worst polluters, especially in shorter flights, were the emissions from the takeoff and landing are less offset by the distance.
On this particular route, a bus will emit, per person, a total of 18 kgs of CO2, a train 23 kgs, a car 113 kgs, and a flight 163 kgs.
What is the cheapest mode of transport from Jakarta to Surabaya?
You can get to Surabaya with just £11 by taking a Bus from Sarwonadhi Trans.
What is the fastest way to get from Jakarta to Surabaya?
While a plane is travelling fastest boarding and transfer to airport consumes a lot of time. Usually, high speed trains are better than flights if pure train travel time is below 4 hours. For this particular route, you can get to Surabaya in just 1h 25m with a Flight from Batik Air.
More routes to Jakarta and to Surabaya
Looking for more options? Here you can see the most popular routes to Jakarta and to Surabaya. Simply click on a connection, and you’ll find all the details about the route!
