Travel Surakarta to Surabaya

Surakarta to Surabaya

Arrive in Surabaya to explore its lively harbor and modern skyline, a contrast to Surakarta’s historic temples and traditional markets. There’s no single way to travel from Surakarta to Surabaya; instead, several transport options are available, all compared here by schedule, duration, and price.

Travel options for Surakarta to Surabaya

Get from Surakarta to Surabaya quickly and affordably with bus for 94070 IDR, covering the journey in only 3 hours.

Bus from Surakarta to Surabaya

Catch a bus at multiple stations, including Indomaret Banyuanyar 2 Surakarta, Solo, Surabaya, Solo Bus Stop, Surakarta, Surakarta and others and start your journey from Surakarta. Services run frequently throughout the day, with the first departure at 00:15, allowing you to pick a departure that suits your schedule. The trip takes around 3 hours, and you'll arrive at multiple stations, including Rungkut Surabaya, Surabaya Ahmad Yani, Surabaya, Semeru Walk, Bungurasih and others, heading into Surabaya. Fares start from 94,070 IDR, and you can check availability and book your seat here.

Prices: 94,070 IDR

Duration: 3h – 5h 30m ⏱

Hop on bus from Surakarta to Surabaya in 3h Choose bus from Surakarta to Surabaya for 94070 IDR Hop on bus from Surakarta to Surabaya in 3h Explore with bus from Surakarta to Surabaya for 94070 IDR Ride with bus from Surakarta to Surabaya for 94070 IDR Experience bus from Surakarta to Surabaya in 3h

View all Bus tickets →

Train from Surakarta to Surabaya

If you're taking the train from Surakarta to Surabaya, you can board at Purwosari, Surakarta and the journey typically takes around 3 hours 38 minutes. Tickets cost 140,996 IDR and you'll arrive at Surabaya Gubeng or Wonokromo, Surabaya. Be sure to reserve your seat and check schedules.

Prices: 140,996 IDR

Duration: 3h 38m – 4h 31m ⏱

Choose train from Surakarta to Surabaya in 3h 38m

View all Train tickets →

Combined from Surakarta to Surabaya

For a combined transport route between Surakarta and Surabaya, departures are available from SOC Surakarta Airport, Central Java with fares starting at 1,578,886 IDR. Expect to reach SUB Surabaya Airport, East Java after roughly 3 hours. Plan ahead and secure your trip explore van options.

Prices: 1,578,886 IDR

Duration: 3h – 12h 50m ⏱

Travel with combined from Surakarta to Surabaya for 1578886 IDR Travel with combined from Surakarta to Surabaya for 1578886 IDR Explore with combined from Surakarta to Surabaya for 1578886 IDR

View all Combined tickets →

Distance Surakarta to Surabaya

The distance between Surakarta and Surabaya is 213.6 kilometers.

Surakarta to Surabaya Transportation Comparison

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

Bus
Train
Combined
Average price
197,010 IDR
200,668 IDR
1,884,942 IDR
Cheapest price
94,070 IDR
140,996 IDR
1,578,886 IDR
Average duration
4h 11m
4h 07m
7h 59m
Minimum duration
3h 00m
3h 38m
3h 00m
Number of departures
250
5
5
Tickets

Bus Routes & Schedules from Surakarta to Surabaya

If you’re planning to reach Surabaya by bus from Surakarta, it’s useful to know that the route is served by multiple departure and arrival stations rather than a single bus terminal. This means you can choose the combination of stops that best suits where you’re staying or heading next. Travel times vary depending on the selected stops, but most services take around 3h to 5h 30m. Buses run throughout the day, with departures starting from 00:15 and continuing until 23:55. Prices usually begin at 94,070 to 332,580 IDR, with minor differences depending on the specific service or boarding point. Taking a moment to review the complete bus timetable for Surakarta to Surabaya allows you to compare station options and select the best bus for your journey.

Departure stations
Indomaret Banyuanyar 2 Surakarta
Solo, Surabaya
Solo Bus Stop, Surakarta
Surakarta
Pool Slamet Riyadi Solo, Surabaya
Terminal Tirtonadi, Surakarta
Arrival stations
Rungkut Surabaya
Surabaya Ahmad Yani
Surabaya
Semeru Walk, Bungurasih
Embong Malang, Surabaya
Terminal Purabaya Bungurasih, Surabaya

Bus Timetable: Indomaret Banyuanyar 2 Surakarta → Embong Malang, Surabaya

  • 05:25 09:30 4h 5m 201997 IDR
  • 08:25 12:30 4h 5m 201997 IDR
  • 10:25 14:30 4h 5m 201997 IDR
  • 12:25 16:30 4h 5m 201997 IDR
  • 14:25 18:30 4h 5m 201997 IDR
  • 16:25 20:30 4h 5m 201997 IDR
  • 18:25 22:30 4h 5m 201997 IDR
  • 20:25 00:30 4h 5m 201997 IDR

Bus Timetable: Indomaret Banyuanyar 2 Surakarta → Rungkut Surabaya

  • 04:50 09:15 4h 25m 187500 IDR
  • 05:25 08:55 3h 30m 201997 IDR
  • 06:25 10:15 3h 50m 187500 IDR
  • 07:25 11:15 3h 50m 187500 IDR
  • 08:25 12:15 3h 50m 187500 IDR
  • 09:25 13:15 3h 50m 187500 IDR
  • 10:25 14:15 3h 50m 187500 IDR
  • 11:55 15:45 3h 50m 187500 IDR
  • 12:25 15:55 3h 30m 201997 IDR
  • 13:25 17:15 3h 50m 187500 IDR
  • 14:25 17:55 3h 30m 201997 IDR
  • 16:25 20:15 3h 50m 187500 IDR
  • 17:25 21:15 3h 50m 187500 IDR
  • 18:25 22:15 3h 50m 187500 IDR
  • 19:55 23:45 3h 50m 187500 IDR
  • 20:25 23:55 3h 30m 201997 IDR
  • 20:55 00:45 3h 50m 187500 IDR
  • 21:55 01:45 3h 50m 187500 IDR
  • 22:55 02:45 3h 50m 187500 IDR
  • 23:55 03:45 3h 50m 187500 IDR

Bus Timetable: Indomaret Banyuanyar 2 Surakarta → Semeru Walk, Bungurasih

  • 05:25 09:00 3h 35m 201997 IDR
  • 08:25 12:00 3h 35m 201997 IDR
  • 10:25 14:00 3h 35m 201997 IDR
  • 12:25 16:00 3h 35m 201997 IDR
  • 14:25 18:00 3h 35m 201997 IDR
  • 16:25 20:00 3h 35m 201997 IDR
  • 18:25 22:00 3h 35m 201997 IDR
  • 20:25 00:00 3h 35m 201997 IDR

Bus Timetable: Indomaret Banyuanyar 2 Surakarta → Surabaya

  • 04:50 10:00 5h 10m 187500 IDR
  • 06:25 11:00 4h 35m 187500 IDR
  • 07:25 12:00 4h 35m 187500 IDR
  • 08:25 13:00 4h 35m 187500 IDR
  • 09:25 14:00 4h 35m 187500 IDR
  • 10:25 15:00 4h 35m 187500 IDR
  • 11:55 16:30 4h 35m 187500 IDR
  • 13:25 18:00 4h 35m 187500 IDR
  • 16:25 21:00 4h 35m 187500 IDR
  • 17:25 22:00 4h 35m 187500 IDR
  • 18:25 23:00 4h 35m 187500 IDR
  • 19:55 00:30 4h 35m 187500 IDR
  • 20:55 01:30 4h 35m 187500 IDR
  • 21:55 02:30 4h 35m 187500 IDR
  • 22:55 03:30 4h 35m 187500 IDR
  • 23:55 04:30 4h 35m 187500 IDR

Bus Timetable: Indomaret Banyuanyar 2 Surakarta → Surabaya Ahmad Yani

  • 04:50 09:30 4h 40m 187500 IDR
  • 06:25 10:30 4h 5m 187500 IDR
  • 07:25 11:00 3h 35m 187500 IDR
  • 08:25 12:30 4h 5m 187500 IDR
  • 09:25 13:30 4h 5m 187500 IDR
  • 10:25 14:30 4h 5m 187500 IDR
  • 11:55 16:00 4h 5m 187500 IDR
  • 13:25 17:30 4h 5m 187500 IDR
  • 16:25 20:30 4h 5m 187500 IDR
  • 17:25 21:30 4h 5m 187500 IDR
  • 18:25 22:30 4h 5m 187500 IDR
  • 19:55 00:00 4h 5m 187500 IDR
  • 20:55 01:00 4h 5m 187500 IDR
  • 21:55 02:00 4h 5m 187500 IDR
  • 22:55 03:00 4h 5m 187500 IDR
  • 23:55 04:00 4h 5m 187500 IDR

Bus Timetable: Pool Slamet Riyadi Solo, Surabaya → Embong Malang, Surabaya

  • 05:15 09:30 4h 15m 201997 IDR
  • 08:15 12:30 4h 15m 201997 IDR
  • 10:15 14:30 4h 15m 201997 IDR
  • 12:15 16:30 4h 15m 201997 IDR
  • 14:15 18:30 4h 15m 201997 IDR
  • 16:15 20:30 4h 15m 201997 IDR
  • 18:15 22:30 4h 15m 201997 IDR
  • 20:15 00:30 4h 15m 201997 IDR

Bus Timetable: Pool Slamet Riyadi Solo, Surabaya → Rungkut Surabaya

  • 05:15 08:55 3h 40m 201997 IDR
  • 08:15 11:55 3h 40m 201997 IDR
  • 10:15 13:55 3h 40m 201997 IDR
  • 12:15 15:55 3h 40m 201997 IDR
  • 14:15 17:55 3h 40m 201997 IDR
  • 16:15 19:55 3h 40m 201997 IDR
  • 18:15 21:55 3h 40m 201997 IDR
  • 20:15 23:55 3h 40m 201997 IDR

Bus Timetable: Pool Slamet Riyadi Solo, Surabaya → Semeru Walk, Bungurasih

  • 05:15 09:00 3h 45m 201997 IDR
  • 08:15 12:00 3h 45m 201997 IDR
  • 10:15 14:00 3h 45m 201997 IDR
  • 12:15 16:00 3h 45m 201997 IDR
  • 14:15 18:00 3h 45m 201997 IDR
  • 16:15 20:00 3h 45m 201997 IDR
  • 18:15 22:00 3h 45m 201997 IDR
  • 20:15 00:00 3h 45m 201997 IDR

Bus Timetable: Solo Bus Stop, Surakarta → Rungkut Surabaya

  • 04:30 09:15 4h 45m 187500 IDR
  • 05:00 09:00 4h 187500 IDR
  • 06:00 10:15 4h 15m 187500 IDR
  • 06:45 11:15 4h 30m 187500 IDR
  • 07:45 12:15 4h 30m 187500 IDR
  • 08:00 12:00 4h 187500 IDR
  • 09:00 13:15 4h 15m 187500 IDR
  • 10:00 14:15 4h 15m 187500 IDR
  • 11:00 15:00 4h 187500 IDR
  • 11:30 15:45 4h 15m 187500 IDR
  • 13:00 17:15 4h 15m 187500 IDR
  • 14:00 18:00 4h 187500 IDR
  • 16:00 20:15 4h 15m 187500 IDR
  • 17:00 21:15 4h 15m 187500 IDR
  • 18:00 22:15 4h 15m 187500 IDR
  • 19:30 23:45 4h 15m 187500 IDR
  • 20:00 00:00 4h 187500 IDR
  • 20:30 00:45 4h 15m 187500 IDR
  • 21:30 01:45 4h 15m 187500 IDR
  • 22:30 02:45 4h 15m 187500 IDR
  • 23:30 03:45 4h 15m 187500 IDR

Bus Timetable: Solo Bus Stop, Surakarta → Surabaya

  • 04:30 10:00 5h 30m 187500 IDR
  • 05:00 09:30 4h 30m 187500 IDR
  • 06:00 11:00 5h 187500 IDR
  • 06:45 12:00 5h 15m 187500 IDR
  • 07:45 13:00 5h 15m 187500 IDR
  • 08:00 12:30 4h 30m 187500 IDR
  • 09:00 14:00 5h 187500 IDR
  • 10:00 15:00 5h 187500 IDR
  • 11:00 15:30 4h 30m 187500 IDR
  • 11:30 16:30 5h 187500 IDR
  • 13:00 18:00 5h 187500 IDR
  • 14:00 18:30 4h 30m 187500 IDR
  • 16:00 21:00 5h 187500 IDR
  • 17:00 22:00 5h 187500 IDR
  • 18:00 23:00 5h 187500 IDR
  • 19:30 00:30 5h 187500 IDR
  • 20:00 00:30 4h 30m 187500 IDR
  • 20:30 01:30 5h 187500 IDR
  • 21:30 02:30 5h 187500 IDR
  • 22:30 03:30 5h 187500 IDR
  • 23:30 04:30 5h 187500 IDR

Bus Timetable: Solo Bus Stop, Surakarta → Surabaya Ahmad Yani

  • 04:30 09:30 5h 187500 IDR
  • 05:00 09:15 4h 15m 187500 IDR
  • 06:00 10:30 4h 30m 187500 IDR
  • 06:45 11:00 4h 15m 187500 IDR
  • 07:45 12:30 4h 45m 187500 IDR
  • 08:00 12:15 4h 15m 187500 IDR
  • 09:00 13:30 4h 30m 187500 IDR
  • 10:00 14:30 4h 30m 187500 IDR
  • 11:00 15:15 4h 15m 187500 IDR
  • 11:30 16:00 4h 30m 187500 IDR
  • 13:00 17:30 4h 30m 187500 IDR
  • 14:00 18:15 4h 15m 187500 IDR
  • 16:00 20:30 4h 30m 187500 IDR
  • 17:00 21:30 4h 30m 187500 IDR
  • 18:00 22:30 4h 30m 187500 IDR
  • 19:30 00:00 4h 30m 187500 IDR
  • 20:00 00:15 4h 15m 187500 IDR
  • 20:30 01:00 4h 30m 187500 IDR
  • 21:30 02:00 4h 30m 187500 IDR
  • 22:30 03:00 4h 30m 187500 IDR
  • 23:30 04:00 4h 30m 187500 IDR

Bus Timetable: Solo, Surabaya → Rungkut Surabaya

  • 04:45 09:15 4h 30m 187500 IDR
  • 05:15 09:00 3h 45m 187500 IDR
  • 06:15 10:15 4h 187500 IDR
  • 07:00 11:15 4h 15m 187500 IDR
  • 07:55 12:15 4h 20m 187500 IDR
  • 08:15 12:00 3h 45m 187500 IDR
  • 09:15 13:15 4h 187500 IDR
  • 10:30 14:15 3h 45m 187500 IDR
  • 11:15 15:00 3h 45m 187500 IDR
  • 11:45 15:45 4h 187500 IDR
  • 13:15 17:15 4h 187500 IDR
  • 14:15 18:00 3h 45m 187500 IDR
  • 16:15 20:15 4h 187500 IDR
  • 17:15 21:15 4h 187500 IDR
  • 18:15 22:15 4h 187500 IDR
  • 20:00 23:45 3h 45m 187500 IDR
  • 20:15 00:00 3h 45m 187500 IDR
  • 20:45 00:45 4h 187500 IDR
  • 21:45 01:45 4h 187500 IDR
  • 22:45 02:45 4h 187500 IDR
  • 23:45 03:45 4h 187500 IDR

Bus Timetable: Solo, Surabaya → Surabaya

  • 04:45 10:00 5h 15m 187500 IDR
  • 05:15 09:30 4h 15m 187500 IDR
  • 06:15 11:00 4h 45m 187500 IDR
  • 07:00 12:00 5h 187500 IDR
  • 07:55 13:00 5h 5m 187500 IDR
  • 08:15 12:30 4h 15m 187500 IDR
  • 09:15 14:00 4h 45m 187500 IDR
  • 10:30 15:00 4h 30m 187500 IDR
  • 11:15 15:30 4h 15m 187500 IDR
  • 11:45 16:30 4h 45m 187500 IDR
  • 13:15 18:00 4h 45m 187500 IDR
  • 14:15 18:30 4h 15m 187500 IDR
  • 16:15 21:00 4h 45m 187500 IDR
  • 17:15 21:30 4h 15m 187500 IDR
  • 18:15 23:00 4h 45m 187500 IDR
  • 20:00 00:30 4h 30m 187500 IDR
  • 20:15 00:30 4h 15m 187500 IDR
  • 20:45 01:30 4h 45m 187500 IDR
  • 21:45 02:30 4h 45m 187500 IDR
  • 22:45 03:30 4h 45m 187500 IDR
  • 23:45 04:30 4h 45m 187500 IDR

Bus Timetable: Solo, Surabaya → Surabaya Ahmad Yani

  • 04:45 09:30 4h 45m 187500 IDR
  • 05:15 09:15 4h 187500 IDR
  • 06:15 10:30 4h 15m 187500 IDR
  • 07:00 11:00 4h 187500 IDR
  • 07:55 12:30 4h 35m 187500 IDR
  • 08:15 12:15 4h 187500 IDR
  • 09:15 13:30 4h 15m 187500 IDR
  • 10:30 14:30 4h 187500 IDR
  • 11:15 15:15 4h 187500 IDR
  • 11:45 16:00 4h 15m 187500 IDR
  • 13:15 17:30 4h 15m 187500 IDR
  • 14:15 18:15 4h 187500 IDR
  • 16:15 20:30 4h 15m 187500 IDR
  • 17:15 21:30 4h 15m 187500 IDR
  • 18:15 22:30 4h 15m 187500 IDR
  • 20:00 00:00 4h 187500 IDR
  • 20:15 00:15 4h 187500 IDR
  • 20:45 01:00 4h 15m 187500 IDR
  • 21:45 02:00 4h 15m 187500 IDR
  • 22:45 03:00 4h 15m 187500 IDR
  • 23:45 04:00 4h 15m 187500 IDR

Bus Timetable: Surakarta → Surabaya

  • 00:15 03:15 3h 187929 IDR
  • 04:30 09:30 5h 253647 IDR
  • 05:00 09:00 4h 259412 IDR
  • 06:00 10:00 4h 259412 IDR
  • 07:00 11:00 4h 259412 IDR
  • 08:00 13:00 5h 253647 IDR
  • 09:00 13:00 4h 259412 IDR
  • 10:00 14:00 4h 259412 IDR
  • 11:00 15:00 4h 259412 IDR
  • 11:10 14:10 3h 207529 IDR
  • 11:31 14:31 3h 207529 IDR
  • 12:00 16:00 4h 207529 IDR
  • 12:15 17:15 5h 253647 IDR
  • 13:00 17:00 4h 259412 IDR
  • 13:10 16:10 3h 207529 IDR
  • 13:31 16:31 3h 207529 IDR
  • 14:00 18:00 4h 259412 IDR
  • 15:15 20:15 5h 253647 IDR
  • 16:15 20:15 4h 259412 IDR
  • 17:00 20:00 3h 332580 IDR
  • 17:15 21:15 4h 259412 IDR
  • 17:30 21:00 3h 30m 332580 IDR
  • 18:30 22:30 4h 253647 IDR
  • 19:00 23:00 4h 259412 IDR
  • 20:15 00:15 4h 259412 IDR
  • 20:30 00:45 4h 15m 243892 IDR
  • 21:10 00:10 3h 207529 IDR
  • 21:15 02:15 5h 253647 IDR
  • 22:00 01:00 3h 207529 IDR
  • 22:10 01:10 3h 207529 IDR
  • 23:00 03:00 4h 253647 IDR

Bus Timetable: Terminal Tirtonadi, Surakarta → Terminal Purabaya Bungurasih, Surabaya

  • 15:00 19:30 4h 30m 94070 IDR

Check all Combined tickets →

Train Routes & Schedules from Surakarta to Surabaya

- Starting at Purwosari, Surakarta, trains head toward Surabaya Gubeng, covering the distance in roughly 3h 48m to 4h 31m. Departures run from 18:04 until 20:19, with tickets from 140,996 to 292,838 IDR.
- Board the train at Purwosari, Surakarta and arrive at Wonokromo, Surabaya after about 3h 38m to 4h 18m. Rail services operate from 18:04 until 19:47 with fares starting at 140,996 to 216,917 IDR.

Departure stations
Purwosari, Surakarta
Arrival stations
Surabaya Gubeng
Wonokromo, Surabaya

Train Timetable: Purwosari, Surakarta → Surabaya Gubeng

  • 18:04 22:35 4h 31m 140996 IDR
  • 19:47 23:35 3h 48m 292838 IDR
  • 20:19 00:40 4h 21m 211592 IDR

Train Timetable: Purwosari, Surakarta → Wonokromo, Surabaya

  • 18:04 22:22 4h 18m 140996 IDR
  • 19:47 23:25 3h 38m 216917 IDR

Check all Train tickets →

Combined Routes & Schedules from Surakarta to Surabaya

From SOC Surakarta Airport, Central Java, take a multi-leg ride across different vehicles to reach SUB Surabaya Airport, East Java. Expect the journey to last about 3h to 12h 50m with fares starting at 1,578,886 to 2,416,936 IDR and services running from 07:00 until 18:10. Check the timetable for trips linking Surakarta and Surabaya to pick your preferred departure.

Departure stations
SOC Surakarta Airport, Central Java
Arrival stations
SUB Surabaya Airport, East Java

Combined Timetable: SOC Surakarta Airport, Central Java → SUB Surabaya Airport, East Java

  • 07:00 10:35 3h 35m 1609558 IDR
  • 09:45 22:10 12h 25m 1854604 IDR
  • 10:45 13:45 3h 2416936 IDR
  • 11:40 19:45 8h 5m 1578886 IDR
  • 18:10 07:00 12h 50m 1964724 IDR

Check all Combined tickets →

Frequently Asked Questions Surakarta to Surabaya

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

How long does the Surakarta to Surabaya trip usually take?

The Surakarta to Surabaya trip varies a lot by transport. Bus services take about 3 hours to 5 hours 30 minutes, trains take about 3 hours 38 minutes to 4 hours 31 minutes, and flights range from about 3 hours to 12 hours 50 minutes depending on the service.

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

The cheapest option on the Surakarta to Surabaya route is the bus. Bus fares start at IDR 94,070, which is lower than the train minimum of IDR 140,996 and far below the flight prices listed for this route.

Which Surakarta to Surabaya option is the fastest?

The fastest listed option for Surakarta to Surabaya is the flight, with some services taking about 3 hours. Bus and train journeys are longer, so air travel is the quickest based on the available data.

How much should I budget for Surakarta to Surabaya travel?

For Surakarta to Surabaya, bus tickets cost about IDR 94,070 to IDR 332,580, train tickets cost about IDR 140,996 to IDR 292,838, and flights are listed at about IDR 1,578,886 to IDR 2,416,936. The total depends on the transport type and service chosen.

Where do buses depart and arrive on the Surakarta to Surabaya route?

Bus departures for Surakarta to Surabaya include places such as Terminal Tirtonadi, Solo Bus Stop, and other Surakarta points. Arrivals include Terminal Purabaya Bungurasih, Surabaya Ahmad Yani, Rungkut Surabaya, Embong Malang, and other Surabaya stops.

Which train stations are used for Surakarta to Surabaya?

Trains on the Surakarta to Surabaya route depart from Purwosari, Surakarta. They arrive at either Surabaya Gubeng or Wonokromo, Surabaya. The available train services are limited to those station pairs in the provided data.

Are there flights available from Surakarta to Surabaya, and where do they use?

Yes, flights are listed for Surakarta to Surabaya. They depart from SOC Surakarta Airport, Central Java, and arrive at SUB Surabaya Airport, East Java. The flight schedule shown includes a first departure at 07:00 and a last departure at 18:10.

How often do buses run from Surakarta to Surabaya, and what are the first and last departures?

Bus services on the Surakarta to Surabaya route are frequent, with many departures listed, but no exact interval is provided. The first bus departs at 00:15 and the last one at 23:55, so there are options throughout the day.

What are the train times for Surakarta to Surabaya?

Train departures for Surakarta to Surabaya start at 18:04 and the last listed departure is at 20:19. The schedule does not show a fixed frequency, so the available trains appear to be limited to a few evening services.

Why does the Surakarta to Surabaya travel time change so much?

The Surakarta to Surabaya travel time changes because different services use different routes and stop patterns. Bus trips range from about 3 hours to 5 hours 30 minutes, train trips from about 3 hours 38 minutes to 4 hours 31 minutes, and flights vary widely in the listed data.

What are the main bus station pairs for Surakarta to Surabaya?

Several bus station pairs are listed for Surakarta to Surabaya. Examples include Terminal Tirtonadi to Terminal Purabaya Bungurasih, Solo Bus Stop to Surabaya Ahmad Yani, and Indomaret Banyuanyar 2 to Rungkut Surabaya. Travel times differ by pair and can be shorter or longer.

Can I book Surakarta to Surabaya tickets online, and where should I look?

Yes, tickets for Surakarta to Surabaya can be checked and booked online through TicketRoutes.com. The route has bus, train, and flight options in the data, so the site is the place to compare the listed services and schedules.

Search routes across Indonesia

Route finder

Find transport connections between hundreds of destinations nationwide. Use the map to compare buses, trains, ferries, and flights and discover new travel possibilities.


More travel routes for Surakarta and Surabaya

Planning more stops after Surakarta to Surabaya?

If your journey doesn’t end with Surakarta to Surabaya, 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.