Travel Surabaya to Malang

Surabaya to Malang

Head to Malang to find yourself in cool mountain air and colonial architecture, a break from Surabaya’s modern cityscape. There’s no single way to travel from Surabaya to Malang; instead, several transport options are available, all compared here by schedule, duration, and price.

Travel options for Surabaya to Malang

For a trip from Surabaya to Malang, bus is both the fastest and the most cost-effective choice at 25420 IDR, taking just 1h y 15 minutes.

Bus from Surabaya to Malang

Depart from multiple stations, including Diponegoro Alfamart Surabaya, Surabaya, Rungkut Surabaya, Surabaya Ahmad Yani and others and start your bus journey from Surabaya toward Malang, with the first departure of the day at 04:45, arriving at multiple stations, including Malang, Tomoro Soekarno Hatta, Malang, Richeese Sunandar Priyo Malang, Alfamart Panglima Sudirman Malang and others. The trip takes about 1 hour 15 minutes, with fares starting from 25,420 IDR. Check schedules and reserve your seat in advance.

Prices: 25,420 IDR

Duration: 1h 15m – 16h 25m ⏱

Book bus from Surabaya to Malang for 25420 IDR Take bus from Surabaya to Malang for 25420 IDR Journey with bus from Surabaya to Malang for 25420 IDR Go with bus from Surabaya to Malang for 25420 IDR Book bus from Surabaya to Malang in 1h 15m Ride with bus from Surabaya to Malang for 25420 IDR

View all Bus tickets →

Train from Surabaya to Malang

Catch a train at Surabaya Gubeng for a scenic trip connecting Surabaya with Malang. Expect the journey to take approximately 1 hour 31 minutes, with fares from 92,288 IDR and arrive at Lawang, Malang or Malang. Make sure to get your ticket early.

Popular departures: Surabaya Gubeng
Popular arrivals: Lawang, Malang Malang

Prices: 92,288 IDR

Duration: 1h 31m – 1h 56m ⏱

Go with train from Surabaya to Malang in 1h 31m

View all Train tickets →

Charter from Surabaya to Malang

Enjoy a comfortable ride from Surabaya to Malang, where your driver will pick you up at your preferred location, whether it’s your hotel, a train station, or another convenient spot. The journey typically takes around 1 hour 30 minutes, offering privacy and flexibility with fares starting at 1,066,350 IDR. Secure your ride here and travel stress-free.

Popular departures: Surabaya Transfer
Popular arrivals: Malang Airport

Prices: 1,066,350 IDR

Duration: 1h 30m ⏱

Book charter from Surabaya to Malang in 1h 30m

View all Charter tickets →

Combined from Surabaya to Malang

Combined services connect Surabaya and Malang, departing from SUB Surabaya Airport, East Java and arriving at MLG Malang Airport, East Java. Expect a journey of about 13 hours 20 minutes, with tickets priced at 2,489,815 IDR. Check available options and secure your seat reserve now.

Prices: 2,489,815 IDR

Duration: 13h 20m – 20h ⏱

Explore with combined from Surabaya to Malang in 13h 20m Explore with combined from Surabaya to Malang in 13h 20m Hop on combined from Surabaya to Malang for 2489815 IDR

View all Combined tickets →

Distance Surabaya to Malang

The distance between Surabaya and Malang is 82.1 kilometers.

Surabaya to Malang Transportation Comparison

Compare transport options side by side using key travel metrics to find the best way to get from Surabaya to Malang

Bus
Train
Charter
Combined
Average price
166,939 IDR
92,288 IDR
1,066,350 IDR
2,517,488 IDR
Cheapest price
25,420 IDR
92,288 IDR
1,066,350 IDR
2,489,815 IDR
Average duration
2h 20m
1h 43m
1h 30m
16h 50m
Minimum duration
1h 15m
1h 31m
1h 30m
13h 20m
Number of departures
169
2
1
3
Tickets

Bus Routes & Schedules from Surabaya to Malang

Bus services linking Surabaya and Malang operate through multiple stations, giving travelers a range of possible departure and arrival points. Because of this, journey durations can differ by route, generally averaging around 1h 15m to 16h 25m. All buses run within a shared operating window from 04:45 to 23:30, with bus ticket prices starting at 25,420 to 899,993 IDR and adjusting slightly based on the service and stop combination. Reviewing the complete bus timetable for Surabaya to Malang allows you to assess station coverage, timing differences and departure options in detail.

Departure stations
Diponegoro Alfamart Surabaya
Surabaya
Rungkut Surabaya
Surabaya Ahmad Yani
Semeru Medeang Surabaya, Bungurasih
Terminal Purabaya Bungurasih, Surabaya
BSD Bumi Serpong Damai, Tangerang
Arrival stations
Malang
Tomoro Soekarno Hatta, Malang
Richeese Sunandar Priyo Malang
Alfamart Panglima Sudirman Malang
Terminal Arjosari, Malang
Kota Malang
Kendalpayak, Malang
Kepanjen, Malang
Karangkates, Malang
Bululawang, Malang
Gondang Legi, Malang
Turen, Malang

Bus Timetable: BSD Bumi Serpong Damai, Tangerang → Bululawang, Malang

  • 13:00 03:50 14h 50m 599999 IDR

Bus Timetable: BSD Bumi Serpong Damai, Tangerang → Gondang Legi, Malang

  • 13:00 04:40 15h 40m 599999 IDR

Bus Timetable: BSD Bumi Serpong Damai, Tangerang → Karangkates, Malang

  • 13:00 05:25 16h 25m 599999 IDR

Bus Timetable: BSD Bumi Serpong Damai, Tangerang → Kendalpayak, Malang

  • 13:00 03:40 14h 40m 599999 IDR

Bus Timetable: BSD Bumi Serpong Damai, Tangerang → Kepanjen, Malang

  • 13:00 04:55 15h 55m 599999 IDR

Bus Timetable: BSD Bumi Serpong Damai, Tangerang → Malang

  • 13:00 03:00 14h 599999 IDR

Bus Timetable: BSD Bumi Serpong Damai, Tangerang → Turen, Malang

  • 13:00 04:25 15h 25m 599999 IDR

Bus Timetable: Diponegoro Alfamart Surabaya → Malang

  • 05:15 07:00 1h 45m 117500 IDR
  • 06:15 08:00 1h 45m 117500 IDR
  • 07:15 09:00 1h 45m 117500 IDR
  • 08:15 10:00 1h 45m 117500 IDR
  • 09:15 11:00 1h 45m 117500 IDR
  • 10:15 12:00 1h 45m 117500 IDR
  • 11:15 13:00 1h 45m 117500 IDR
  • 12:15 14:00 1h 45m 117500 IDR
  • 13:15 15:00 1h 45m 117500 IDR
  • 14:15 16:00 1h 45m 117500 IDR
  • 15:15 17:00 1h 45m 117500 IDR
  • 16:15 18:00 1h 45m 117500 IDR
  • 17:15 19:00 1h 45m 117500 IDR
  • 18:15 20:00 1h 45m 117500 IDR
  • 19:15 21:00 1h 45m 117500 IDR
  • 20:15 22:00 1h 45m 117500 IDR

Bus Timetable: Rungkut Surabaya → Malang

  • 05:30 07:00 1h 30m 117500 IDR
  • 06:30 08:00 1h 30m 117500 IDR
  • 07:30 09:00 1h 30m 117500 IDR
  • 08:30 10:00 1h 30m 117500 IDR
  • 09:30 11:00 1h 30m 117500 IDR
  • 10:30 12:00 1h 30m 117500 IDR
  • 11:30 13:00 1h 30m 117500 IDR
  • 12:30 14:00 1h 30m 117500 IDR
  • 13:30 15:00 1h 30m 117500 IDR
  • 14:30 16:00 1h 30m 117500 IDR
  • 15:30 17:00 1h 30m 117500 IDR
  • 16:30 18:00 1h 30m 117500 IDR
  • 17:30 19:00 1h 30m 117500 IDR
  • 18:30 20:00 1h 30m 117500 IDR
  • 19:30 21:00 1h 30m 117500 IDR
  • 20:30 22:00 1h 30m 117500 IDR

Bus Timetable: Semeru Medeang Surabaya, Bungurasih → Alfamart Panglima Sudirman Malang

  • 06:00 08:00 2h 899993 IDR

Bus Timetable: Semeru Medeang Surabaya, Bungurasih → Richeese Sunandar Priyo Malang

  • 06:00 08:00 2h 899993 IDR

Bus Timetable: Semeru Medeang Surabaya, Bungurasih → Terminal Arjosari, Malang

  • 06:00 08:00 2h 899993 IDR

Bus Timetable: Semeru Medeang Surabaya, Bungurasih → Tomoro Soekarno Hatta, Malang

  • 06:00 08:00 2h 899993 IDR

Bus Timetable: Surabaya → Kota Malang

  • 04:45 06:50 2h 5m 190235 IDR
  • 05:00 07:00 2h 167176 IDR
  • 05:25 07:00 1h 35m 167176 IDR
  • 05:45 07:50 2h 5m 190235 IDR
  • 06:00 08:00 2h 167176 IDR
  • 06:30 08:00 1h 30m 167176 IDR
  • 06:45 08:55 2h 10m 190235 IDR
  • 07:00 09:00 2h 167176 IDR
  • 07:30 09:00 1h 30m 132588 IDR
  • 07:45 09:55 2h 10m 190235 IDR
  • 08:00 10:00 2h 167176 IDR
  • 08:15 10:25 2h 10m 190235 IDR
  • 08:30 10:00 1h 30m 167176 IDR
  • 08:45 10:55 2h 10m 190235 IDR
  • 09:00 11:00 2h 167176 IDR
  • 09:15 11:25 2h 10m 190235 IDR
  • 09:30 11:00 1h 30m 167176 IDR
  • 09:45 11:55 2h 10m 190235 IDR
  • 10:00 11:30 1h 30m 167176 IDR
  • 10:30 12:00 1h 30m 167176 IDR
  • 10:45 12:55 2h 10m 190235 IDR
  • 11:00 12:30 1h 30m 167176 IDR
  • 11:15 13:25 2h 10m 190235 IDR
  • 11:30 13:00 1h 30m 167176 IDR
  • 11:45 13:55 2h 10m 190235 IDR
  • 12:00 13:30 1h 30m 167176 IDR
  • 12:30 14:00 1h 30m 167176 IDR
  • 12:45 14:55 2h 10m 190235 IDR
  • 13:00 15:30 2h 30m 194005 IDR
  • 13:30 15:35 2h 5m 167176 IDR
  • 13:40 15:00 1h 20m 167176 IDR
  • 13:45 15:55 2h 10m 190235 IDR
  • 14:00 16:00 2h 167176 IDR
  • 14:10 15:30 1h 20m 167176 IDR
  • 14:15 16:25 2h 10m 190235 IDR
  • 14:40 16:00 1h 20m 167176 IDR
  • 14:45 16:55 2h 10m 190235 IDR
  • 15:00 17:00 2h 167176 IDR
  • 15:15 17:25 2h 10m 190235 IDR
  • 15:30 17:30 2h 167176 IDR
  • 15:40 17:00 1h 20m 167176 IDR
  • 15:45 17:55 2h 10m 190235 IDR
  • 16:00 18:00 2h 167176 IDR
  • 16:10 17:30 1h 20m 167176 IDR
  • 16:30 18:30 2h 167176 IDR
  • 16:45 18:00 1h 15m 190235 IDR
  • 17:00 19:00 2h 167176 IDR
  • 17:15 18:30 1h 15m 190235 IDR
  • 17:30 19:30 2h 167176 IDR
  • 17:45 19:00 1h 15m 190235 IDR
  • 18:00 20:00 2h 167176 IDR
  • 18:15 19:30 1h 15m 167176 IDR
  • 18:45 20:00 1h 15m 190235 IDR
  • 19:00 21:00 2h 167176 IDR
  • 19:30 21:35 2h 5m 132588 IDR
  • 19:40 21:00 1h 20m 167176 IDR
  • 19:45 22:00 2h 15m 190235 IDR
  • 20:00 22:00 2h 167176 IDR
  • 20:15 22:30 2h 15m 190235 IDR
  • 20:30 22:30 2h 167176 IDR
  • 20:40 22:00 1h 20m 167176 IDR
  • 20:45 22:55 2h 10m 190235 IDR
  • 21:00 23:00 2h 167176 IDR
  • 21:10 22:30 1h 20m 167176 IDR
  • 21:15 23:25 2h 10m 190235 IDR
  • 21:40 23:00 1h 20m 167176 IDR
  • 21:45 23:55 2h 10m 190235 IDR
  • 22:00 00:00 2h 167176 IDR
  • 22:25 00:00 1h 35m 167176 IDR
  • 22:45 00:55 2h 10m 190235 IDR

Bus Timetable: Surabaya → Malang

  • 05:00 07:00 2h 117500 IDR
  • 06:00 08:00 2h 117500 IDR
  • 07:00 09:00 2h 117500 IDR
  • 08:00 10:00 2h 117500 IDR
  • 09:00 11:00 2h 117500 IDR
  • 10:00 12:00 2h 117500 IDR
  • 11:00 13:00 2h 117500 IDR
  • 12:00 14:00 2h 117500 IDR
  • 13:00 15:00 2h 117500 IDR
  • 14:00 16:00 2h 117500 IDR
  • 15:00 17:00 2h 117500 IDR
  • 16:00 18:00 2h 117500 IDR
  • 17:00 19:00 2h 117500 IDR
  • 18:00 20:00 2h 117500 IDR
  • 19:00 21:00 2h 117500 IDR
  • 20:00 22:00 2h 117500 IDR

Bus Timetable: Surabaya Ahmad Yani → Malang

  • 05:45 07:00 1h 15m 117500 IDR
  • 06:45 08:00 1h 15m 117500 IDR
  • 07:45 09:00 1h 15m 117500 IDR
  • 08:45 10:00 1h 15m 117500 IDR
  • 09:45 11:00 1h 15m 117500 IDR
  • 10:45 12:00 1h 15m 117500 IDR
  • 11:45 13:00 1h 15m 117500 IDR
  • 12:45 14:00 1h 15m 117500 IDR
  • 13:45 15:00 1h 15m 117500 IDR
  • 14:45 16:00 1h 15m 117500 IDR
  • 15:45 17:00 1h 15m 117500 IDR
  • 16:45 18:00 1h 15m 117500 IDR
  • 17:45 19:00 1h 15m 117500 IDR
  • 18:45 20:00 1h 15m 117500 IDR
  • 19:45 21:00 1h 15m 117500 IDR
  • 20:45 22:00 1h 15m 117500 IDR

Bus Timetable: Terminal Purabaya Bungurasih, Surabaya → Terminal Arjosari, Malang

  • 05:44 07:44 2h 25420 IDR
  • 05:56 07:56 2h 25420 IDR
  • 06:36 08:36 2h 25420 IDR
  • 07:27 09:27 2h 25420 IDR
  • 08:19 10:19 2h 25420 IDR
  • 08:58 10:58 2h 25420 IDR
  • 09:13 11:13 2h 25420 IDR
  • 10:00 12:00 2h 25420 IDR
  • 10:34 12:34 2h 25420 IDR
  • 11:18 13:18 2h 25420 IDR
  • 11:24 13:24 2h 25420 IDR
  • 11:41 13:41 2h 25420 IDR
  • 12:39 14:39 2h 25420 IDR
  • 13:42 15:42 2h 25420 IDR
  • 14:22 16:22 2h 25420 IDR
  • 14:40 16:40 2h 25420 IDR
  • 15:21 17:21 2h 25420 IDR
  • 15:42 17:42 2h 25420 IDR
  • 16:47 18:47 2h 25420 IDR
  • 17:17 19:17 2h 25420 IDR
  • 17:46 19:46 2h 25420 IDR
  • 18:28 20:28 2h 25420 IDR
  • 18:49 20:49 2h 25420 IDR
  • 23:30 01:30 2h 25420 IDR

Check all Combined tickets →

Train Routes & Schedules from Surabaya to Malang

- Reach Lawang, Malang by boarding the train at Surabaya Gubeng, traveling roughly 1h 31m. Fares start at 92,288 IDR, and rail services operate at 10:10.
- Travel by train from Surabaya Gubeng to Malang, with journeys usually taking 1h 56m. Rail services operate at 10:10, and train tickets start at 92,288 IDR.

Check all Train tickets →

Charter Routes & Schedules from Surabaya to Malang

Depart from Surabaya Transfer for a private ride to Malang Airport, leaving at the time that fits your itinerary. The trip usually takes 1h 30m, providing a relaxed, door-to-door service. With fares beginning at 1,066,350 IDR, this single-leg transfer allows you to travel efficiently and on your own schedule.

Check all Charter tickets →

Combined Routes & Schedules from Surabaya to Malang

Embark from SUB Surabaya Airport, East Java and travel to Malang using a combination of vehicles. You’ll reach MLG Malang Airport, East Java after about 13h 20m to 20h, with services operating from 14:10 until 20:50 and tickets starting at 2,489,815 to 2,546,805 IDR. Consulting the timetable for routes connecting Surabaya and Malang ensures you select the best departure.

Departure stations
SUB Surabaya Airport, East Java
Arrival stations
MLG Malang Airport, East Java

Combined Timetable: SUB Surabaya Airport, East Java → MLG Malang Airport, East Java

  • 14:10 10:10 20h 2546805 IDR
  • 17:00 10:10 17h 10m 2489815 IDR
  • 20:50 10:10 13h 20m 2515845 IDR

Check all Combined tickets →

Frequently Asked Questions Surabaya to Malang

Below you will find answers to the most common questions about traveling from Surabaya to Malang.

How long does the Surabaya to Malang route usually take?

Travel time on the Surabaya to Malang route varies widely by transport and exact pickup or drop-off point. The fastest listed trip is about 1 hour 15 minutes, while some bus services take much longer, especially on longer or less direct runs.

What is the cheapest way to travel from Surabaya to Malang?

The cheapest option on the Surabaya to Malang route is bus service, with fares starting at IDR 25,420. Train tickets are also relatively low at IDR 92,288, but they are still higher than the lowest bus fare.

How much should I expect to pay for Surabaya to Malang overall?

Prices on the Surabaya to Malang route range from IDR 25,420 for the lowest bus fare to IDR 1,066,350 for charter. Train fares are fixed at IDR 92,288, while bus prices vary much more depending on the service and stop pair.

Which option is the fastest for Surabaya to Malang?

The fastest listed option for Surabaya to Malang is the bus from Surabaya Ahmad Yani to Malang, which takes about 1 hour 15 minutes. A charter trip is also listed at 1 hour 30 minutes, while train trips take longer.

Where do Surabaya to Malang trips depart from and arrive?

Departure and arrival points depend on the transport type. Bus services leave from places such as Terminal Purabaya Bungurasih, Surabaya Ahmad Yani, and Rungkut Surabaya, and arrive at Malang stops including Terminal Arjosari, Kota Malang, and Malang city points. Trains use Surabaya Gubeng and arrive at Lawang or Malang.

How often do Surabaya to Malang services run, and what are the first and last departures?

The bus schedule on the Surabaya to Malang route runs from 04:45 to 23:30, but no fixed frequency is listed. Train service shows one departure at 10:10. Charter and combined airport services also have listed times, but no regular frequency.

What are the train details for Surabaya to Malang?

Train travel on the Surabaya to Malang route departs from Surabaya Gubeng and arrives at Lawang, Malang or Malang. The fare is IDR 92,288, and the trip takes about 1 hour 31 minutes to 1 hour 56 minutes depending on the destination stop.

Which bus routes are listed for Surabaya to Malang?

Bus services on the Surabaya to Malang route include departures from Terminal Purabaya Bungurasih, Surabaya Ahmad Yani, Rungkut Surabaya, and other Surabaya points. Arrivals include Terminal Arjosari, Kota Malang, Malang, Kepanjen, Karangkates, Bululawang, Gondang Legi, and Turen.

How long do bus trips from Surabaya to Malang take?

Bus travel times on the Surabaya to Malang route vary a lot. The shortest listed bus trip is about 1 hour 15 minutes, while the longest reaches about 16 hours 25 minutes. The difference depends on the exact departure and arrival pair.

Are there airport-based options for Surabaya to Malang?

Yes, the route includes a combined airport service from SUB Surabaya Airport, East Java to MLG Malang Airport, East Java. It is listed at IDR 2,489,815 to IDR 2,546,805 and takes about 13 hours 20 minutes to 20 hours.

Is charter available for Surabaya to Malang, and what does it look like?

A charter option is listed for Surabaya to Malang from Surabaya Transfer to Malang Airport. It costs IDR 1,066,350 and takes about 1 hour 30 minutes. No regular departure time or frequency is provided for this service.

Where can I book Surabaya to Malang tickets?

For Surabaya to Malang bookings, use TicketRoutes.com. It lists the available route options and current trip details in one place, including transport types, fares, and departure points.

Compare routes across the country in Indonesia

Route finder

Use the map to search transport connections between destinations throughout Indonesia. Compare schedules, travel times, and available services before planning your journey.


More travel routes for Surabaya and Malang

Planning more stops after Surabaya to Malang?

If your journey doesn’t end with Surabaya to Malang, use the TicketRoutes Travel Planner to build a complete multi-city itinerary. Compare buses, trains, ferries, and flights for several destinations at once — faster and easier.

Try the Travel Planner

Perfect for travelers visiting multiple cities on one trip.