The cheapest and fastest coaches from Malang to Surabaya
Cheapest price
$2
Average price
$6
Fastest journey
1 h
Average duration
1 h
Buses per day
289
Distance
82 km
The best way to find a cheap coach ticket from Malang to Surabaya is to book your journey as far in advance as possible and to avoid travelling at rush hour.
The average ticket from Malang to Surabaya will cost around $6 if you buy it on the day, but you can find cheap coach tickets today for only $2.
Of the 289 buses that leave Malang for Surabaya every day 289 travel direct so it’s quite easy to avoid journeys where you’ll have to change along the way.
These direct buses cover the 82 km distance in an average of 1 h but if you time it right, some buses will get you there in just 1 h .
The slowest buses will take 1 h and usually involve a change or two along the way, but you might be able to save a few pennies if you’re on a budget.
BAGONG
BAGONG
BAGONG
BAGONG
BAGONG
KALISARI
KALISARI
KALISARI
KALISARI
KALISARITravel Information
Compare train and coach for Malang to Surabaya
Omio recommends booking the coach as it is the most popular option from Malang to Surabaya among Omio's users. If you are prioritising price take the coach with prices starting from $2. For those with little time consider booking a coach which can get you there in 2h 1m. The ticket price range depends on the travel mode: a coach costs an average of $2, and a train costs an average of $20.
Distance: 82 km
Compare bus with
Most popular Coach | Train |
|---|---|
$2 Average Price Cheapest | $31 Average Price |
2h 31m Average total duration Fastest 2h 1m Onboard + 30m Additional time* | 5h 0m Average total duration 4h 30m Onboard + 30m Additional time* |
Direct Options | Direct Options |
Live departures
Malang to Surabaya bus times
The table below shows live departures for Malang to Surabaya coaches for today, Wednesday, 28 January. You can also manually refresh the results below to see updated coach journeys.
| Provider | Departs | Duration | Arrives | Changes | Tickets |
|---|---|---|---|---|---|
BAGONG | 10:23 pm Malang, Terminal Arjosari | 1h44 | 12:07 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
DAYTRANS | 10:25 pm Malang | 2h05 | 12:30 am Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 10:25 pm Malang | 2h35 | 1:00 am Surabaya, Tegalsari | 0 changesdirect | |
DAYTRANS | 10:25 pm Malang | 1h50 | 12:15 am Surabaya | 0 changesdirect | |
DANA DHASIH | 10:30 pm Malang, Terminal Arjosari | 1h44 | 12:14 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 10:32 pm Malang | 1h15 | 11:47 pm Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 10:32 pm Malang, Terminal Arjosari | 1h44 | 12:16 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 10:36 pm Malang, Terminal Arjosari | 1h44 | 12:20 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 10:36 pm Malang | 1h15 | 11:51 pm Surabaya | 0 changesdirect | |
LAKSANA ANDA | 10:40 pm Malang, Terminal Arjosari | 1h44 | 12:24 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
BAGONG | 10:43 pm Malang, Terminal Arjosari | 1h44 | 12:27 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 10:44 pm Malang | 1h15 | 11:59 pm Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 10:44 pm Malang, Terminal Arjosari | 1h44 | 12:28 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 10:47 pm Malang, Terminal Arjosari | 1h44 | 12:31 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 10:47 pm Malang | 1h15 | 12:02 am Surabaya | 0 changesdirect | |
DANA DHASIH | 10:50 pm Malang, Terminal Arjosari | 1h44 | 12:34 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
HAFANA | 11:00 pm Malang, Terminal Arjosari | 1h44 | 12:44 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 11:03 pm Malang, Terminal Arjosari | 1h44 | 12:47 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 11:03 pm Malang | 1h15 | 12:18 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 11:07 pm Malang, Terminal Arjosari | 1h44 | 12:51 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 11:07 pm Malang | 1h15 | 12:22 am Surabaya | 0 changesdirect | |
BAGONG | 11:10 pm Malang, Terminal Arjosari | 1h44 | 12:54 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 11:12 pm Malang | 1h15 | 12:27 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 11:12 pm Malang, Terminal Arjosari | 1h44 | 12:56 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 11:17 pm Malang | 1h15 | 12:32 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 11:17 pm Malang, Terminal Arjosari | 1h44 | 1:01 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
BAGONG | 11:28 pm Malang, Terminal Arjosari | 1h44 | 1:12 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
LAKSANA ANDA | 11:30 pm Malang, Terminal Arjosari | 1h44 | 1:14 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 11:31 pm Malang | 1h15 | 12:46 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 11:31 pm Malang, Terminal Arjosari | 1h44 | 1:15 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 11:32 pm Malang | 1h15 | 12:47 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 11:32 pm Malang, Terminal Arjosari | 1h44 | 1:16 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 11:39 pm Malang, Terminal Arjosari | 1h44 | 1:23 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 11:39 pm Malang | 1h15 | 12:54 am Surabaya | 0 changesdirect | |
DANA DHASIH | 11:40 pm Malang, Terminal Arjosari | 1h44 | 1:24 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
BAGONG | 11:46 pm Malang, Terminal Arjosari | 1h44 | 1:30 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
| Thursday, 29 January | |||||
DAYTRANS | 12:00 am Malang, Klojen | 2h30 | 2:30 am Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 12:00 am Malang, Klojen | 2h15 | 2:15 am Surabaya | 0 changesdirect | |
DAYTRANS | 12:00 am Malang, Klojen | 3h00 | 3:00 am Surabaya, Tegalsari | 0 changesdirect | |
LAKSANA ANDA | 12:00 am Malang, Terminal Arjosari | 1h44 | 1:44 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 12:03 am Malang, Terminal Arjosari | 1h44 | 1:47 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 12:03 am Malang | 1h15 | 1:18 am Surabaya | 0 changesdirect | |
0 | 12:08 am Malang | 1h15 | 1:23 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 12:08 am Malang, Terminal Arjosari | 1h44 | 1:52 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
DAYTRANS | 12:25 am Malang | 1h50 | 2:15 am Surabaya | 0 changesdirect | |
DAYTRANS | 12:25 am Malang | 2h05 | 2:30 am Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 12:25 am Malang | 2h35 | 3:00 am Surabaya, Tegalsari | 0 changesdirect | |
BAGONG | 12:44 am Malang, Terminal Arjosari | 1h44 | 2:28 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
BAGONG | 12:48 am Malang, Terminal Arjosari | 1h44 | 2:32 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 12:50 am Malang | 1h15 | 2:05 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 12:50 am Malang, Terminal Arjosari | 1h44 | 2:34 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
DAYTRANS | 1:00 am Malang, Klojen | 2h15 | 3:15 am Surabaya | 0 changesdirect | |
DAYTRANS | 1:00 am Malang, Klojen | 3h00 | 4:00 am Surabaya, Tegalsari | 0 changesdirect | |
DANA DHASIH | 1:00 am Malang, Terminal Arjosari | 1h44 | 2:44 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
BAGONG | 1:00 am Malang, Terminal Arjosari | 1h44 | 2:44 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
DAYTRANS | 1:00 am Malang, Klojen | 2h30 | 3:30 am Surabaya, Wonocolo | 0 changesdirect | |
0 | 1:17 am Malang | 1h15 | 2:32 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 1:17 am Malang, Terminal Arjosari | 1h44 | 3:01 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
LAKSANA ANDA | 1:20 am Malang, Terminal Arjosari | 1h44 | 3:04 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
DAYTRANS | 1:25 am Malang | 1h50 | 3:15 am Surabaya | 0 changesdirect | |
DAYTRANS | 1:25 am Malang | 2h05 | 3:30 am Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 1:25 am Malang | 2h35 | 4:00 am Surabaya, Tegalsari | 0 changesdirect | |
DANA DHASIH | 1:30 am Malang, Terminal Arjosari | 1h44 | 3:14 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
BAGONG | 1:31 am Malang, Terminal Arjosari | 1h44 | 3:15 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 1:39 am Malang | 1h15 | 2:54 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 1:39 am Malang, Terminal Arjosari | 1h44 | 3:23 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
BAGONG | 1:41 am Malang, Terminal Arjosari | 1h44 | 3:25 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
BAGONG | 1:50 am Malang, Terminal Arjosari | 1h44 | 3:34 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
DAYTRANS | 2:00 am Malang, Klojen | 2h15 | 4:15 am Surabaya | 0 changesdirect | |
DAYTRANS | 2:00 am Malang, Klojen | 2h30 | 4:30 am Surabaya, Wonocolo | 0 changesdirect | |
LAKSANA ANDA | 2:00 am Malang, Terminal Arjosari | 1h44 | 3:44 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
DAYTRANS | 2:00 am Malang, Klojen | 3h00 | 5:00 am Surabaya, Tegalsari | 0 changesdirect | |
0 | 2:05 am Malang | 1h15 | 3:20 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 2:05 am Malang, Terminal Arjosari | 1h44 | 3:49 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 2:09 am Malang, Terminal Arjosari | 1h44 | 3:53 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 2:09 am Malang | 1h15 | 3:24 am Surabaya | 0 changesdirect | |
DANA DHASIH | 2:10 am Malang, Terminal Arjosari | 1h44 | 3:54 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 2:17 am Malang, Terminal Arjosari | 1h44 | 4:01 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 2:17 am Malang | 1h15 | 3:32 am Surabaya | 0 changesdirect | |
DAYTRANS | 2:25 am Malang | 2h35 | 5:00 am Surabaya, Tegalsari | 0 changesdirect | |
DAYTRANS | 2:25 am Malang | 1h50 | 4:15 am Surabaya | 0 changesdirect | |
DAYTRANS | 2:25 am Malang | 2h05 | 4:30 am Surabaya, Wonocolo | 0 changesdirect | |
BAGONG | 2:28 am Malang, Terminal Arjosari | 1h44 | 4:12 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
HAFANA | 2:30 am Malang, Terminal Arjosari | 1h44 | 4:14 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
HAFANA | 2:40 am Malang, Terminal Arjosari | 1h44 | 4:24 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 2:45 am Malang, Terminal Arjosari | 1h44 | 4:29 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 2:45 am Malang | 1h15 | 4:00 am Surabaya | 0 changesdirect | |
BAGONG | 2:50 am Malang, Terminal Arjosari | 1h44 | 4:34 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
BAGONG | 2:56 am Malang, Terminal Arjosari | 1h44 | 4:40 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 2:58 am Malang, Terminal Arjosari | 1h44 | 4:42 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 3:03 am Malang | 1h15 | 4:18 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 3:03 am Malang, Terminal Arjosari | 1h44 | 4:47 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 3:14 am Malang | 1h15 | 4:29 am Surabaya | 0 changesdirect | |
BAGONG | 3:18 am Malang, Terminal Arjosari | 1h44 | 5:02 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
HAFANA | 3:20 am Malang, Terminal Arjosari | 1h44 | 5:04 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 3:24 am Malang | 1h15 | 4:39 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 3:24 am Malang, Terminal Arjosari | 1h44 | 5:08 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 3:36 am Malang, Terminal Arjosari | 1h44 | 5:20 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 3:36 am Malang | 1h15 | 4:51 am Surabaya | 0 changesdirect | |
KALISARI | 3:40 am Malang, Terminal Arjosari | 1h00 | 4:40 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
BAGONG | 3:44 am Malang, Terminal Arjosari | 1h44 | 5:28 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 3:45 am Malang, Terminal Arjosari | 1h44 | 5:29 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 3:45 am Malang | 1h15 | 5:00 am Surabaya | 0 changesdirect | |
0 | 3:53 am Malang | 1h15 | 5:08 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 3:53 am Malang, Terminal Arjosari | 1h44 | 5:37 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
BAGONG | 3:57 am Malang, Terminal Arjosari | 1h44 | 5:41 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 4:00 am Malang, Terminal Arjosari | 1h44 | 5:44 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 4:00 am Malang | 1h15 | 5:15 am Surabaya | 0 changesdirect | |
DAYTRANS | 4:00 am Malang, Klojen | 2h15 | 6:15 am Surabaya | 0 changesdirect | |
DAYTRANS | 4:00 am Malang, Klojen | 2h30 | 6:30 am Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 4:00 am Malang, Klojen | 3h00 | 7:00 am Surabaya, Tegalsari | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 4:18 am Malang, Terminal Arjosari | 1h44 | 6:02 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 4:18 am Malang | 1h15 | 5:33 am Surabaya | 0 changesdirect | |
KALISARI | 4:20 am Malang, Terminal Arjosari | 1h00 | 5:20 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
DAYTRANS | 4:25 am Malang | 2h05 | 6:30 am Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 4:25 am Malang | 1h50 | 6:15 am Surabaya | 0 changesdirect | |
DAYTRANS | 4:25 am Malang | 2h35 | 7:00 am Surabaya, Tegalsari | 0 changesdirect | |
0 | 4:32 am Malang | 1h15 | 5:47 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 4:32 am Malang, Terminal Arjosari | 1h44 | 6:16 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 4:36 am Malang | 1h15 | 5:51 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 4:36 am Malang, Terminal Arjosari | 1h44 | 6:20 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
BAGONG | 4:42 am Malang, Terminal Arjosari | 1h44 | 6:26 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
HAFANA | 4:50 am Malang, Terminal Arjosari | 1h44 | 6:34 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
DAYTRANS | 5:00 am Malang, Klojen | 2h30 | 7:30 am Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 5:00 am Malang, Klojen | 2h15 | 7:15 am Surabaya | 0 changesdirect | |
DAYTRANS | 5:00 am Malang, Klojen | 3h00 | 8:00 am Surabaya, Tegalsari | 0 changesdirect | |
0 | 5:06 am Malang | 1h15 | 6:21 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 5:06 am Malang, Terminal Arjosari | 1h44 | 6:50 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 5:08 am Malang | 1h15 | 6:23 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 5:08 am Malang, Terminal Arjosari | 1h44 | 6:52 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
KALISARI | 5:10 am Malang, Terminal Arjosari | 1h00 | 6:10 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 5:13 am Malang | 1h15 | 6:28 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 5:13 am Malang, Terminal Arjosari | 1h44 | 6:57 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 5:17 am Malang, Terminal Arjosari | 1h44 | 7:01 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 5:17 am Malang | 1h15 | 6:32 am Surabaya | 0 changesdirect | |
BAGONG | 5:18 am Malang, Terminal Arjosari | 1h44 | 7:02 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
BAGONG | 5:23 am Malang, Terminal Arjosari | 1h44 | 7:07 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
DAYTRANS | 5:25 am Malang | 2h35 | 8:00 am Surabaya, Tegalsari | 0 changesdirect | |
DAYTRANS | 5:25 am Malang | 2h05 | 7:30 am Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 5:25 am Malang | 1h50 | 7:15 am Surabaya | 0 changesdirect | |
BAGONG | 5:27 am Malang, Terminal Arjosari | 1h44 | 7:11 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 5:51 am Malang | 1h15 | 7:06 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 5:51 am Malang, Terminal Arjosari | 1h44 | 7:35 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 5:57 am Malang | 1h15 | 7:12 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 5:57 am Malang, Terminal Arjosari | 1h44 | 7:41 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
HAFANA | 6:00 am Malang, Terminal Arjosari | 1h44 | 7:44 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
DAYTRANS | 6:00 am Malang, Klojen | 2h30 | 8:30 am Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 6:00 am Malang, Klojen | 3h00 | 9:00 am Surabaya, Tegalsari | 0 changesdirect | |
DAYTRANS | 6:00 am Malang, Klojen | 2h15 | 8:15 am Surabaya | 0 changesdirect | |
0 | 6:10 am Malang | 1h15 | 7:25 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 6:10 am Malang, Terminal Arjosari | 1h44 | 7:54 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
DAYTRANS | 6:25 am Malang | 2h35 | 9:00 am Surabaya, Tegalsari | 0 changesdirect | |
DAYTRANS | 6:25 am Malang | 2h05 | 8:30 am Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 6:25 am Malang | 1h50 | 8:15 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 6:40 am Malang, Terminal Arjosari | 1h44 | 8:24 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 6:40 am Malang | 1h15 | 7:55 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 6:45 am Malang, Terminal Arjosari | 1h44 | 8:29 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
BAGONG | 6:55 am Malang, Terminal Arjosari | 1h44 | 8:39 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 6:59 am Malang, Terminal Arjosari | 1h44 | 8:43 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 6:59 am Malang | 1h15 | 8:14 am Surabaya | 0 changesdirect | |
LAKSANA ANDA | 7:00 am Malang, Terminal Arjosari | 1h44 | 8:44 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 7:07 am Malang | 1h15 | 8:22 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 7:07 am Malang, Terminal Arjosari | 1h44 | 8:51 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
DANA DHASIH | 7:10 am Malang, Terminal Arjosari | 1h44 | 8:54 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
BAGONG | 7:13 am Malang, Terminal Arjosari | 1h44 | 8:57 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
BAGONG | 7:21 am Malang, Terminal Arjosari | 1h44 | 9:05 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
DANA DHASIH | 7:30 am Malang, Terminal Arjosari | 1h44 | 9:14 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 7:35 am Malang, Terminal Arjosari | 1h44 | 9:19 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 7:36 am Malang | 1h15 | 8:51 am Surabaya | 0 changesdirect | |
LAKSANA ANDA | 7:40 am Malang, Terminal Arjosari | 1h44 | 9:24 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 7:41 am Malang, Terminal Arjosari | 1h44 | 9:25 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 7:41 am Malang | 1h15 | 8:56 am Surabaya | 0 changesdirect | |
DANA DHASIH | 7:50 am Malang, Terminal Arjosari | 1h44 | 9:34 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
BAGONG | 7:56 am Malang, Terminal Arjosari | 1h44 | 9:40 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
DAYTRANS | 8:00 am Malang, Klojen | 2h30 | 10:30 am Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 8:00 am Malang, Klojen | 2h15 | 10:15 am Surabaya | 0 changesdirect | |
KING TOUR & TRAVEL | 8:00 am Malang | 2h20 | 10:20 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 8:00 am Malang, Terminal Arjosari | 1h44 | 9:44 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
KING TOUR & TRAVEL | 8:00 am Malang | 2h12 | 10:12 am Surabaya | 0 changesdirect | |
0 | 8:00 am Malang | 1h15 | 9:15 am Surabaya | 0 changesdirect | |
DAYTRANS | 8:00 am Malang, Klojen | 3h00 | 11:00 am Surabaya, Tegalsari | 0 changesdirect | |
HAFANA | 8:00 am Malang, Terminal Arjosari | 1h44 | 9:44 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
BAGONG | 8:05 am Malang, Terminal Arjosari | 1h44 | 9:49 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 8:10 am Malang, Terminal Arjosari | 1h44 | 9:54 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 8:14 am Malang, Terminal Arjosari | 1h44 | 9:58 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 8:14 am Malang | 1h15 | 9:29 am Surabaya | 0 changesdirect | |
BAGONG | 8:22 am Malang, Terminal Arjosari | 1h44 | 10:06 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
DAYTRANS | 8:25 am Malang | 1h50 | 10:15 am Surabaya | 0 changesdirect | |
DAYTRANS | 8:25 am Malang | 2h05 | 10:30 am Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 8:25 am Malang | 2h35 | 11:00 am Surabaya, Tegalsari | 0 changesdirect | |
0 | 8:30 am Malang | 1h15 | 9:45 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 8:30 am Malang, Terminal Arjosari | 1h44 | 10:14 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 8:32 am Malang, Terminal Arjosari | 1h44 | 10:16 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 8:32 am Malang | 1h15 | 9:47 am Surabaya | 0 changesdirect | |
BAGONG | 8:34 am Malang, Terminal Arjosari | 1h44 | 10:18 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 8:38 am Malang, Terminal Arjosari | 1h44 | 10:22 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 8:38 am Malang | 1h15 | 9:53 am Surabaya | 0 changesdirect | |
DANA DHASIH | 8:40 am Malang, Terminal Arjosari | 1h44 | 10:24 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
BAGONG | 8:42 am Malang, Terminal Arjosari | 1h44 | 10:26 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
LAKSANA ANDA | 8:50 am Malang, Terminal Arjosari | 1h44 | 10:34 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
LAKSANA ANDA | 9:00 am Malang, Terminal Arjosari | 1h44 | 10:44 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
DAYTRANS | 9:00 am Malang, Klojen | 2h15 | 11:15 am Surabaya | 0 changesdirect | |
DAYTRANS | 9:00 am Malang, Klojen | 2h30 | 11:30 am Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 9:00 am Malang, Klojen | 3h00 | 12:00 pm Surabaya, Tegalsari | 0 changesdirect | |
0 | 9:03 am Malang | 1h15 | 10:18 am Surabaya | 0 changesdirect | |
0 | 9:08 am Malang | 1h15 | 10:23 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 9:08 am Malang, Terminal Arjosari | 1h44 | 10:52 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
DAYTRANS | 9:25 am Malang | 1h50 | 11:15 am Surabaya | 0 changesdirect | |
DAYTRANS | 9:25 am Malang | 2h05 | 11:30 am Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 9:25 am Malang | 2h35 | 12:00 pm Surabaya, Tegalsari | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 9:35 am Malang, Terminal Arjosari | 1h44 | 11:19 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 9:42 am Malang | 1h15 | 10:57 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 9:42 am Malang, Terminal Arjosari | 1h44 | 11:26 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
BAGONG | 9:46 am Malang, Terminal Arjosari | 1h44 | 11:30 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 9:55 am Malang, Terminal Arjosari | 1h44 | 11:39 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 9:55 am Malang | 1h15 | 11:10 am Surabaya | 0 changesdirect | |
DANA DHASIH | 10:00 am Malang, Terminal Arjosari | 1h44 | 11:44 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
DAYTRANS | 10:00 am Malang, Klojen | 2h15 | 12:15 pm Surabaya | 0 changesdirect | |
DAYTRANS | 10:00 am Malang, Klojen | 3h00 | 1:00 pm Surabaya, Tegalsari | 0 changesdirect | |
DAYTRANS | 10:00 am Malang, Klojen | 2h30 | 12:30 pm Surabaya, Wonocolo | 0 changesdirect | |
KING TOUR & TRAVEL | 10:00 am Malang | 2h12 | 12:12 pm Surabaya | 0 changesdirect | |
KING TOUR & TRAVEL | 10:00 am Malang | 2h20 | 12:20 pm Surabaya | 0 changesdirect | |
BAGONG | 10:01 am Malang, Terminal Arjosari | 1h44 | 11:45 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
BAGONG | 10:08 am Malang, Terminal Arjosari | 1h44 | 11:52 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 10:12 am Malang, Terminal Arjosari | 1h44 | 11:56 am Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 10:12 am Malang | 1h15 | 11:27 am Surabaya | 0 changesdirect | |
0 | 10:20 am Malang | 1h15 | 11:35 am Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 10:20 am Malang, Terminal Arjosari | 1h44 | 12:04 pm Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
LAKSANA ANDA | 10:20 am Malang, Terminal Arjosari | 1h44 | 12:04 pm Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
DAYTRANS | 10:25 am Malang | 1h50 | 12:15 pm Surabaya | 0 changesdirect | |
DAYTRANS | 10:25 am Malang | 2h35 | 1:00 pm Surabaya, Tegalsari | 0 changesdirect | |
DAYTRANS | 10:25 am Malang | 2h05 | 12:30 pm Surabaya, Wonocolo | 0 changesdirect | |
DANA DHASIH | 10:30 am Malang, Terminal Arjosari | 1h44 | 12:14 pm Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
BAGONG | 10:46 am Malang, Terminal Arjosari | 1h44 | 12:30 pm Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 10:56 am Malang, Terminal Arjosari | 1h44 | 12:40 pm Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 10:56 am Malang | 1h15 | 12:11 pm Surabaya | 0 changesdirect | |
LAKSANA ANDA | 11:00 am Malang, Terminal Arjosari | 1h44 | 12:44 pm Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
DANA DHASIH | 11:10 am Malang, Terminal Arjosari | 1h44 | 12:54 pm Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
HAFANA | 11:30 am Malang, Terminal Arjosari | 1h44 | 1:14 pm Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
HAFANA | 11:40 am Malang, Terminal Arjosari | 1h44 | 1:24 pm Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
DAYTRANS | 12:00 pm Malang, Klojen | 2h15 | 2:15 pm Surabaya | 0 changesdirect | |
DAYTRANS | 12:00 pm Malang, Klojen | 2h30 | 2:30 pm Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 12:00 pm Malang, Klojen | 3h00 | 3:00 pm Surabaya, Tegalsari | 0 changesdirect | |
0 | 12:10 pm Malang | 1h15 | 1:25 pm Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 12:10 pm Malang, Terminal Arjosari | 1h44 | 1:54 pm Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
HAFANA | 12:20 pm Malang, Terminal Arjosari | 1h44 | 2:04 pm Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
DAYTRANS | 12:25 pm Malang | 2h05 | 2:30 pm Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 12:25 pm Malang | 1h50 | 2:15 pm Surabaya | 0 changesdirect | |
DAYTRANS | 12:25 pm Malang | 2h35 | 3:00 pm Surabaya, Tegalsari | 0 changesdirect | |
0 | 12:30 pm Malang | 1h15 | 1:45 pm Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 12:30 pm Malang, Terminal Arjosari | 1h44 | 2:14 pm Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
KALISARI | 12:40 pm Malang, Terminal Arjosari | 1h00 | 1:40 pm Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 12:50 pm Malang | 1h15 | 2:05 pm Surabaya | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 12:50 pm Malang, Terminal Arjosari | 1h44 | 2:34 pm Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
DAYTRANS | 1:00 pm Malang, Klojen | 3h00 | 4:00 pm Surabaya, Tegalsari | 0 changesdirect | |
DAYTRANS | 1:00 pm Malang, Klojen | 2h15 | 3:15 pm Surabaya | 0 changesdirect | |
DAYTRANS | 1:00 pm Malang, Klojen | 2h30 | 3:30 pm Surabaya, Wonocolo | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 1:10 pm Malang, Terminal Arjosari | 1h44 | 2:54 pm Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 1:10 pm Malang | 1h15 | 2:25 pm Surabaya | 0 changesdirect | |
KALISARI | 1:20 pm Malang, Terminal Arjosari | 1h00 | 2:20 pm Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
DAYTRANS | 1:25 pm Malang | 1h50 | 3:15 pm Surabaya | 0 changesdirect | |
DAYTRANS | 1:25 pm Malang | 2h05 | 3:30 pm Surabaya, Wonocolo | 0 changesdirect | |
DAYTRANS | 1:25 pm Malang | 2h35 | 4:00 pm Surabaya, Tegalsari | 0 changesdirect | |
PT. TENTREM INTI SEJAHTERA | 1:30 pm Malang, Terminal Arjosari | 1h44 | 3:14 pm Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
0 | 1:30 pm Malang | 1h15 | 2:45 pm Surabaya | 0 changesdirect | |
KALISARI | 2:10 pm Malang, Terminal Arjosari | 1h00 | 3:10 pm Surabaya, Terminal Purabaya/Bungurasih | 0 changesdirect | |
This is the last bus of the day. | |||||
Find all the dates and times for this journey
Compare prices and tickets Malang to Surabaya by train or coach
Compare train and coach prices over the next three weeks. See the best deals at a glance, find the lowest fares, and choose the option that fits your budget.
29 Jan
30 Jan
31 Jan
01 Feb
02 Feb
03 Feb
04 Feb
Journey information
Overview: Bus from Malang to Surabaya
Buses from Malang to Surabaya run on average 144 times per day, taking around 2h 1m. Cheap bus tickets for this journey start at $2 if you book in advance.
There are 144 coaches per day. The earliest coach runs at 01:00, the last at 23:30. The fastest coach covers the 82 km distance in 1h 44m.
Distance 82 km |
Average bus duration 2h 1m |
Cheapest ticket price $2 |
Buses per day 144 |
Direct buses 144 |
Fastest bus 1h 44m |
First bus 01:00 |
Last bus 23:30 |
Bus providers: Bagong, PT. Tentrem Inti Sejahtera, Infobus, Kalisari, Daytrans from Malang to SurabayaYou can travel by bus between Malang to Surabaya with Bagong, PT. Tentrem Inti Sejahtera, Infobus, Kalisari, Daytrans for as low as $2. When you search for schedules and tickets, Omio will show you the best journey
Infobus
PT. Tentrem Inti Sejahtera
Daytrans
Bagong
Kalisari
FAQs: Malang to Surabaya coach
Find answers to the most common questions about traveling from Malang to Surabaya by coach. From journey times and ticket prices to direct connections, first and last departures, and even whether the route is scenic, our FAQs cover everything you need to plan your trip. Whether you’re looking for the fastest coach, the cheapest option, or tips for making the most of your visit at Surabaya, this guide helps you travel smarter and with confidence.

- Infobus
- Assistance
- Priority seating
- Transport for wheelchairs and mobility aids.
- Infobus
- You can cancel your ticket up to 24 hours before departure for a partial refund. Cancellations within 24 hours may incur a fee.
- Infobus
- One carry-on bag up to 5kg (40x20x25) and one checked bag up to 20kg (50x30x80).
- PT. Tentrem Inti Sejahtera
- One hand luggage and one carry-on luggage allowed
- additional luggage may incur extra charges.
- Daytrans
- Luggage included in fare
- specific size/type not provided.
- Infobus
- 10€ per additional bag.
- PT. Tentrem Inti Sejahtera
- Excess luggage and bulky luggage allowed for an additional fee
- Daytrans
- Excess luggage and bulky luggage allowed for an additional fee
- Infobus
- Small pets allowed in carriers
- larger pets may require a separate ticket.
popular bus stations
Important Stations and Airports in Malang and Surabaya
- 04:00-22:00
- Available for both cars and motorcycles
- Several small local restaurants and food stalls inside and around terminal
- Available at designated taxi stand
- Basic ramps available
- Public toilets available for a small fee
- Bus: Local city buses, intercity buses
- Angkot: Various routes
- 05:00-21:00
- Free Wi-Fi in waiting area
- Available in front of terminal
- Food stalls and small restaurants inside terminal
- Available at designated taxi stand
- Wheelchair ramps
- Public toilets available
- Bus: Local city buses, intercity buses
- Angkot (public minivans)
- 05:00-21:00
- Free Wi-Fi in waiting area
- Available in front of terminal
- Local food stalls and small restaurants inside terminal
- Available at designated taxi stand
- Basic accessibility features
- Public toilets available
- Bus: Local city buses, intercity buses
- Angkot: Various routes
- 04:00-24:00
- Free Wi-Fi available in terminal
- Large parking area available for cars and motorcycles
- Food court and various food stalls available
- Available at designated taxi stand
- Wheelchair ramps, assistance available
- Public toilets available with fee
- Bus: City buses, intercity buses
- Angkot (shared taxi)
- 05:00-22:00
- Street parking available
- Local food stalls and small restaurants nearby
- Available at designated taxi stands
- Basic ramps
- Public toilets available
- Bus: P1, P4, P8
- Angkot: WK, DP
- 05:00-21:00
- Street parking available
- Small local food stalls and vendors nearby
- Available at designated taxi stands
- Basic ramps available
- Basic public facilities available
- Bus: P4, P8, PAC8
Most popular bus connections from Malang
More options for your journey from Malang to Surabaya
Here are some other resources that might have the information you need







