For those of you who are looking to get from Bali to Jakarta this year, I thought you might benefit from reading my experience taking the train, bus and ferry to travel between the two.
For this part of our trip we decided to take the scenic route from Bali to Jakarta. The journey involved a series of transportation changes that can be boiled down to the following:
- A taxi from our hotel to the bus station in Denpasar
- A bus from there to Gilimanuk
- A ferry to Ketapang/Banyuwangi (Java)
- A train to Surabaya
- Finally, a train to Jakarta.
We’re going to walk you through this process step-by-step with pictures that should help give you an idea of what to expect (similar to how I did helping you to get from Denpasar airport to Ubud, Bali). This journey can be done in one go, but we decided to break it up and stop along the way.
From Our Hotel to Ubung Bus Station
We got a taxi for the first part of the journey, and after chatting with some locals we opted to take a Bluebird Taxi, as we were told that this was the most reliable and honest taxi company in Denpasar. We booked the taxi via email, and found this to be a very efficient way to book.
*Note: Since our trip, Uber has also become available in Bali, Indonesia. I’ve heard they’re possibly much cheaper, so it’s worth checking it out.
The taxi arrived a few minutes early, and the driver was very polite and professional, which is usually not the case in SE Asia. It took around 20-30 minutes to get to the bus station and cost around 42,000 IDR (~US$3). Click on their website link above to get their email and phone details.
Finding a Bus | Denpasar To Gilimanuk
Our Bus From Denpasar To Banyuwangi via Gilimanuk
After such a pleasant taxi ride, I suppose it was too much to ask to also have a good bus experience. When we arrived at Ubung Bus Station, we were instantly surrounded by a group of men who wanted to know where we were going. This is never a good sign.
They insisted on carrying our bags the very short distance to the buses – for free, of course. Also usually not a good sign. Of course, they had the ideal bus for us – the most expensive one there. They wanted 180,000 IDR (~US$13) each for a ticket to Gilimanuk.
We had read that it was less than that to get a combined bus and train ticket all the way to Surabaya, so we declined their offer. We then asked around to see if there were any other options. The problem was that there were so many people that wanted to “help” us that is was all very confusing.
Finally, we asked at the small ticket offices and were quoted 50,000 IDR (~US$3.70) for a local bus and 100,000 IDR (~US$7.40) for an air conditioned bus with toilet.
View From Denpasar To Gilimanuk Bus
While we were discussing which bus to get, another “helpful” person said that the 100,000 IDR bus wasn’t in fact going to where we wanted to go, but that another bus was. So we checked that bus, and it was 75,000 IDR ($6.70) including the ferry crossing to Banyuwangi. This apparently had aircon and toilet, but looked a lot older. We were now thoroughly confused, but still kept getting hassled to get the various buses.
What decided it for us was that the 75,000 IDR bus was actually about to leave, so we got on that. It left at 13:15.
It was a bit chaotic to begin with, because leaving meant driving around the corner and then stopping to wait for more passengers. Then driving around another corner to wait for a few more. It eventually got going at 14:00.
Taking the bus to Gilimanuk
The 4-hour journey was mostly along very hilly and winding roads, and the bus kept overtaking lorries at what didn’t seem like very safe places. I’d consider the bus driving fairly dangerous, but it’s what I’ve come to expect in many parts of SE Asia.
After a couple of hours we needed to use the toilet, but discovered that the section at the back that looked like a toilet was in fact a small storage room. It looked like it might have been a toilet in the past, but not any longer. So what to do? We asked the assistants and the driver, but their English wasn’t good enough to understand.
Eventually we stopped at an area where a building had been knocked down, but still had an outside toilet, so we had to use that. But it was a squat toilet without a door.
This wasn’t mentioned in the brochures I read about beautiful Bali.
Important Note: We had read that there is a new bus station in Denpasar called Mengwi, and that all large buses now depart from there and not Ubung. But that isn’t the case at all. There were about 10-15 large buses in Ubung station, and lots of passengers. Our bus stopped at Mengwi station, but there weren’t any other buses there, and we only saw a few people sitting around. I think these were the bemo drivers and not passengers. So despite what you read, I suggest you use Ubung bus station.
Gilimanuk To Banyuwangi By Ferry
Eventually we got to Gilimanuk and onto the ferry. The bus ticket included the ferry crossing, so we didn’t need to buy a ticket for the crossing. The ferries cross every 15-30 mins, 24 hours a day, and the crossing takes around 45-60 minutes.
The upper deck of the ferry is fairly small, and many people there were smoking. But there was a smaller aircon room that was a no smoking area. Being on the water here was quite different than our time scuba diving in Bali!
There was also a small cafe on the upper deck that sold tea, coffee, pot noodles and other snacks. Quite a few food sellers also came onto the bus as we got on the ferry. There was also a man with a guitar that sang and collected money. He played when we got on the bus and again when the ferry arrived in Ketapang, which is the ferry terminal next to the small town of Banyuwangi.
As the ferry arrives, you have a view of Ijen volcano. We did a tour of Ijen which included walking down into the crater of this active volcano. It’s definitely worth looking into!
We got off the bus at the ferry terminal and got a bemo to our hotel, the Ketapang Indah Hotel, where we stayed for four nights. The hotel is about 2-3 km from the ferry terminal. Banyuwangi train station is about 100-200 meters from the ferry terminal. Just turn right as you leave the harbour exit, and the station will be on your left, a little further along.
Banyuwangi To Surabaya By Train
There are two trains a day on this route. We got the 08:30 train, which arrived in Surabaya at 14:56. The other train leaves at 22:00 and arrives at 04:20. One thing that you need to know is that you have to show your passport when you buy a train ticket.
If you don’t have your passport with you, you’ll get turned away. You will also have to show your passport when you arrive at the station to get the train.
You can either travel Eksekutif class (1st class) or Bisnis class (2nd class). The ticket prices vary depending on when you buy them and what tickets are left. We paid 100,000 IDR ($7.40) each for Bisinis class tickets. Eksekutif class tickets were 140,000 IDR (~US$10.30). You can get up-to-date train times and ticket prices at Kerati Api.
This train is the best we have traveled on in our trip around SE Asia. It’s not up to European standards, but the train was very clean and the staff helpful and well-presented. We even had a porter who carried our bags onto the train and showed us to our seats.
The Bisinis class carriages have double seats, which I’ve never seen on a train. The seats are fairly comfortable and have a small shelf to the left to hold cups. But there’s no seatback tray like on other trains.
Also next to the seat is an electrical socket, which is useful for charging your cell phone or laptop. Even most European trains I’ve been on didn’t have one of these.
As with many SE Asian trains, there was a squat toilet. These can take some getting used to for some people.
During the journey, food and drinks were brought around often, and the food was served on proper plates. This is also something that you don’t usually see on trains. You could also order other food and drinks which they then brought to your seat.
The train arrived at Surabaya Gubeng station on time.
We wanted to use a Bluebird Taxi to take us to our hotel, but couldn’t see one at the station. So we got a Nurimas Taxi instead. Big mistake. The driver told us that he would use the meter, but then claimed the minimum charge was 35,000 IDR ($3.10), and didn’t bother using the meter. So he lied just to get us in the car.
I later found out that the cost should have been around 20,000 IDR ($1.80). I don’t really care about paying the extra but don’t like feeling that I’ve been ripped off and lied to. I definitely wouldn’t recommend this taxi company. I asked one of the women at the hotel about this taxi company, and she said “No, no, no, don’t use them. Very bad“.
I’ve since found out that the Bluebird Taxis are parked just outside the station exit, so I’d advise getting one of those. We used them while in Surabaya and they always used the meters. I’ve found them to be very reliable and honest, and many locals have told me that they are the best taxi company.
For our two nights in Surabaya, we stayed at Family Guest House, which turned out to be a great choice.
Surabaya To Jakarta By Train
We bought our tickets for this train from Surabaya Gubeng train station (which was near our hotel), but the train left from Surabaya Pasarturi train station. So make sure you’re at the correct station, because trains to Jakarta depart from both of these stations. We paid 450,000 IDR ($40) each for our Eksekutif class tickets. The journey is usually around 10 hours, so we wanted to travel in comfort.
When we bought our train tickets in Banyuwangi, we both had to show our passports. But this time we had to fill in a ticket reservation form, which seemed a little strange. We didn’t have to show our passports when buying the tickets, but we did have to show them when we arrived at the station to catch the train. So there’s no consistency in buying tickets at different stations. So all I can advise is to be prepared.
The train left Surabaya Pasarturi at 08:15 and arrived at Jakarta Gambir station at around 19:00, although it was due to arrive at 17:56.
The Eksekutif class coaches have seating that’s more comfortable than the Bisinis class coaches, and the seats also have a little extra leg room. These are comparable to the standard of European trains, and we were quite impressed with both the comfort and standard of service.
The arms of the seats have trays that fold out, so you’re able to eat any food you buy quite easily.
Each set of seats has a socket on the window side, just like the Bisinis class seats have.
The coaches look a little like the inside of an aircraft, with the individual overhead space for each seat.
Just like in Bisinis class, the staff come around often with food and drink. But on Eksekutif class there is also a printed menu that you can choose food from.
On the back of the menu, the train times are printed. I was quite amused to find out that the train was due to arrive at Cirebon station at 14:55, and depart at 14:60. Yes, 14.60!
The journey itself was fairly uneventful, with the train mostly traveling through countryside that was planted with various food crops. We did however pass alongside the sea at one point.
There are always porters available to carry your bags on and off the train if you want them to. The previous two times we used them they didn’t ask for a specific tip, but just accepted what we gave them.
However, when we arrived in Jakarta, the porter carried our bags to the station exit before he mentioned that he wanted 20,000 IDR ($1.80). This seemed a bit excessive, but we paid and smiled. We were quite impressed with how he coped with carrying three bags, including my 20 kg suitcase on his shoulder. He carried the bags like this from inside the train, all the way down the stairs to the exit.
And so we had finally arrived in Jakarta after setting off from Bali six days ago. All in all we much preferred traveling this way than by plane, as it gave us a chance to see some interesting things along the way.
Taxi From Jakarta Gambir Station
To get from the station to our hotel we took a Bluebird taxi from outside the station. Leave the station via the north exit and then turn right. You’ll see a Bluebird taxi stand about 20 meters away. You need to pay 5,000 IDR ($0.45) to book the taxi. You’ll then be given a ticket with a queue number. Once your taxi arrives you’ll have to pay another 5,000 IDR to get out of the station, and then the metered taxi fare at the end of your journey. It cost 18,000 IDR ($1.60) to get to our hotel, which was around 2-3 km away.
There are other taxis outside the station, but I’d advise sticking to the Bluebird taxis, as these are the ones that most Indonesians trust, and the ones that I’ve always had a good experience with.
Conclusion | Bali to Jakarta
Hopefully this overview describing how to travel from Bali to Jakarta has been useful! As with any sort of in southeast Asia, it’s quite possible that parts of this journey (and the costs of travel around Indonesia) have changed. Hopefully, these change are for the better!
However it turns out, any travel like this requires you to be flexible and patient. It’s far too easy to get frustrated in Indonesia or other such countries not only because it’s a different culture but because it’s not nearly as easy to get from point A to point B.
Enjoy your trip and let me know how it goes!