Travelling From Bali-To-Java And Yogyakarta

Our view out of the train window was one of lush jungle and towering volcanoes, tiny villages and rice paddies.

The train wound its way through the countryside on our journey to Yogyakarta, Java.

After spending a month in Ubud, Bali we were looking forward to an adventurous journey from Bali-to-Java.

We’d researched ways of getting to Java and of course there is the normal flight there but we’d found a more inspirational and nostalgia way of travelling overland by road, ferry and train.

What’s more, it’s very inexpensive, scenic and adventurous.

Yes it takes a lot longer than flying but for us the journey and travel is all part of our adventure.

So here’s how we travelled from Bali to Java and our experience of it.


Ubud, Bali To Gilimanuk

Ubud is in central Bali so first of all we needed to head West to the port town of Gilimanuk to catch a ferry to Java.

In some ways this is the most difficult section of the trip but only because there are no trains on Bali so the only options for travelling long distances is either my bus or private car.

We’d heard of some pretty horrible stories of the bus rides to Gilimanuk with mad drivers etc so we opted for a private car.

Don’t get us wrong, we’re budget travellers and been on some pretty hair raising journeys but on this occasion it just didn’t seem right to go the bus option and plus all the timings worked out wrong for us being in Ubud.

It’s easy to find someone to drive you to Gilimanuk but we were lucky to have a friend  who lent us their full time driver for a very reasonable cost for the drive to the port.

The drive takes approx 3 to 3.5 hours through the countryside and along the South coast of Bali which is very pleasant.


Gilimanuk To Ketapang

We arrived in Gilimanuk after about 3 hours on the road and our driver Gusti dropped us off in the ferry terminal car park.

After a very short walk to the terminal we found the ticket counter and purchased our tickets for the crossing.

The small ferry crosses the Selat Strait that separates Java from Bali.

A short while later we were boarding our ferry along with motorcycles, passengers and other vehicles.

The ferry is nothing fancy at all and its passenger deck is lined with rows of plastic seating.

It actually wasn’t to busy when we crossed but we understand it can get very busy on board at certain times of the day.

There’s not much to see while crossing other than other ferries and boats plying the Selat Strait as well as Bali getting further away and Java getting closer.

The ferry headed for Ketapang on Java’s Easternmost point and after about 30 minutes we arrived and disembarked.

The train station Banyuwangi Baru  ( where you can catch onward trains ) is only a short walk from the port but we had booked into a hotel for the night as our trip to Yogyakarta didn’t leave until the next morning.

We stayed at the Ketapang Indah Hotel which we decided to walk to but was a bit further out of town than we thought so grabbing a taxi would have been a better idea.

The hotel is lovely with a pool and its own beach ( not a nice beach though) with a good view out over the Selat Strait.

Annabel loved that the hotel had a buffet dinner and breakfast.

It’s not the cheapest of hotels but it was nice to have some chill out time before our long journey the next day.


Ketapang To Surabaya

Instead of getting a train straight from Ketapang to Yogyakarta we decided to break our journey in Surabaya which lies on the North coast of Java and is a six and a half hour ride away.

You can book all of you tickets online at and print out your confirmation to hand to the counter staff at the stations who will then give you a boarding pass.

We’d booked tickets for the Mutiara Timur train which left the Banywangi Baru station at 9am so it gave us time to have a nice breakfast at the hotel before catching a taxi to the station in time for the train.

At the station we had to go to the ticket counter to receive our boarding pass for the train by showing our booking details.

We love train journeys so all three of us were really excited to see what this one would be like.

After a short wait the locomotive rumbled into the station.

We found the correct carriage to board and then looked for our seats.

We’d booked what is called Executive class which are the most expensive seats on the train and at the time were 150000 Rupiah, which sounds a lot but was actually only £7.86.

The difference between Executive class and Economy class is only about £2.50 per seat and in Executive class you get a much more comfortable seat, more room overall for bags etc and less crowded than Economy but they are both air conditioned.

There’s food available on the train either at the buffet car or brought around on a trolley but we bought some food with us on board.

The train is lovely, comfortable and clean with very smart carriage attendants which reminded us of flight attendants.

The journey is amazing as the train snakes its way through the interior of Eastern Java with views of rice paddies, villages, jungle and volcanoes all around.

At about 3.15pm we pulled into Surabaya Gubeng station.

We’d booked a hotel room a short walk from the station at the POP Hotel Gubeng which was nice, clean,modern and inexpensive.

We had to find the hospital for Sue to get some treatment after her Bali monkey ordeal. Not read about that yet? Here’s the post link.

After the hospital visit we found a nice looking place to eat that was a sort of diner where we ate scrummy hot dogs.


Surabaya To Yogyakarta

Next morning we were up early to catch our 7.30am departure on the Sancaka Pagi train to Yogyakarta.

This is a five hour trip and we booked Executive class again.

It’s not as scenic as the Ketapang to Surabaya route but we enjoyed it none the less.

By 1 o’clock we’d arrived at Yogyakarta’s main city station.


Our Opinion

All three of us absolutely loved this journey.

In this age of flying it’s refreshing to do a real old world journey even if it is on modern transport.

You get that real sense of having travelled a long distance and accomplishing something adventurous.

If you ever get the chance to travel from Bali-to-Java , and you have the time, then you we would highly recommend this trip.

The Nitty Gritty

Here’s the detail of how we got from Bali-to-Java

We hired a car and driver to take us from Ubud, Bali to Gilimanuk port.

At the ferry terminal we bought tickets for the Gilimanuk- Ketapang crossing

The crossing takes 30-45 minutes.

We stayed at the Ketapang Indah Hotel overnight ( booked online here )

Caught the 9am Mutiara Timur train to Surabaya  ( we booked our tickets online here )

Arrived Surabaya at approx 3.15pm

We stayed at the POP Hotel Gunbeng  ( we booked it online here )

Caught the 7.30am Sancaka train to Yogyakarta ( we booked our tickets online here )

Arrived Yogyakarta at approx 1pm


What if you could ignite the spark of adventure within you?

Join our community to be inspired to live an adventurous life