Singapore to Bali by Land and Sea • A 7-day mini-adventure for under S$500!

Singapore to Bali by Land and Sea 04

After completing my journey From London to Singapore in 40 Days, I figured that the journey could be further extended with transport options south of Singapore. Sure, Sentosa was the touristy *cringe* southernmost point of “continental Asia” (which is untrue by the way) and of my trip, but that’s not the most inspiring place to be.

The neighbouring country south of Singapore is Indonesia, with frequent ferries linking Singapore with Batam Island. And since it’s Indonesia, why not continue the journey to reach the next railway network to see how far I can go?

After having read all my posts on my trip from Singapore to Bali by Land and Sea, you might think that I’ve spent a lot on this trip considering that I’ve travelled in First Class on the ship from Batam to Jakarta, in Eksekutif Class on all long-distance trains and slept in hotels instead of hostels while not on the move.

However, tickets alone, including my additional unplanned train joyrides, car rental with driver in Bali and airfare back to Singapore, costed me just S$498.68.

Let me show you how.

NOTE: This amount does not include my expenditure on food and souvenirs, which was minimal anyway.

Day 1: Batam Fast from Singapore (HarbourFront Centre) to Batam (Batam Centre)

Singapore to Bali Day 1 BatamFast HarbourFront to Batam Centre 08

Price in Singapore Dollars: S$25

Planning for this trip was really easy – every step of the booking process can be done online. You can get your ticket online from EasybookBusOnlineTicket or directly from the ferry operators’ websites. For this trip, I chose to travel with Batam Fast since I have tried Majestic and SINDO already.

Whichever method you choose to book your ticket, you can check-in online at Batam Fast’s website and print your boarding pass at home.

Day 1: Trans Batam Corridor 05 from Batam Centre to Batu Ampar Port

Singapore to Bali Day 1 Trans Batam Batam Centre to Batu Ampar 02

Price in Indonesian Rupiah: Rp. 4,000
Price in Singapore Dollars: S$0.42

Just across the road from the Batam Centre Ferry Terminal lies the familiar Trans Batam Central Busway halt (and now you know why I went to familiarize myself with the busway system during my past two trips).

Here’s a price comparison between the taxi counter at Batam Centre Ferry Terminal versus the Trans Batam Corridor 05.

Taxi from Batam Centre to Batu Ampar: Rp80,000
Trans Batam from Batam Centre to Batu Ampar: Rp4,000 (95% discount)

Well, my choice of commute seems obvious now doesn’t it.

Day 1-2: The PELNI KM Kelud from Batam to Jakarta

Singapore to Bali Day 1 PELNI KM Kelud Batu Ampar Tanjung Priok 43

Price in Indonesian Rupiah: Rp. 994,000
“Additional fee” in Indonesian Rupiah: Rp. 100,000
Price in Singapore Dollars: S$104.11 + S$10.50

PELNI, which is an abbreviation of PT. Pelayaran Nasional Indonesia, is the national shipping company of Indonesia, operating ferries which connect the main islands of the Indonesian archipelago.

The KM Kelud departs from Batu Ampar in Batam for Tanjung Priok, Jakarta at 1.00pm on Wednesdays and returns to Batam and Belawan on Fridays at 8.00am.

Day 2: Transjakarta Corridor 12 from Tanjung Priok to Jakarta Kota

Singapore to Bali Day 2 Tanjung Priok to City 10

Price in Indonesian Rupiah (TransJakarta): Rp. 3,500
Price in Indonesian Rupiah (KRL): Rp. 3,000
Price in Singapore Dollars: S$0.37 + S$0.32

After walking about 1km from the Port of Tanjung Priok, I got to Tanjung Priok Railway Station at 7.15pm, 5 minutes after the scheduled departure of the last KRL train bound for Jakarta Kota.

Disappointed, I backtracked to the Transjakarta halt.

Overnight in Jakarta: S$26.53

Day 3: Covering the Tanjung Priok – Gambir Stretch by KRL

Singapore to Bali Day 3 Jakarta KRL 43

Price in Indonesian Rupiah (KRL): Rp. 3,000
Price in Indonesian Rupiah (KRL): Rp. 3,000
Price in Singapore Dollars: S$0.32 + S$0.32

In the morning, I set off from my hotel to cover the rail lines that would have been otherwise skipped if I had concentrated solely on the long-distance routes.

Day 3: Getting to Gambir Railway Station with KRL and Transjakarta

Singapore to Bali Day 3 Access to Gambir 15

Price in Indonesian Rupiah (KRL): Rp. 3,000
Price in Indonesian Rupiah (TransJakarta): Rp. 3,500
Price in Singapore Dollars: S$0.32 + S$0.37

If you are going by KRL, you have two main choices, to go to Jakarta Kota or Juanda. I opted to go via Juanda as the next train was arriving at Mangga Besar station as compared to another few minutes wait for the Jakarta Kota-bound one.

Take TransJakarta BRT Service 2C from Juanda direct to Gambir 2. Alternatively, take TransJakarta BRT Service 2, 2A, 3, 5C or T12 from Juanda to Harmoni Central Busway and change to Service 2 or 2A to Gambir 2 bus stop. As you can see, based on probability, you’ll end up at Harmoni most of the time, but it’s okay because the frequency is good thanks to the parallel bus corridors. Just get the first bus that comes along – it makes your journey faster than waiting for the elusive 2C.

Day 3-4: KA Gajayana from Jakarta Gambir to Malang

Singapore to Bali Day 3 Gajayana Jakarta Gambir to Malang 17

Price in Indonesian Rupiah: Rp. 535.000 + Rp. 14.500 Tiket.com booking fee – Rp. 100.000 discount code = Rp. 449.500
Price in Singapore Dollars (POSB’s rate): S$48.77

The KA Gajayana is a daily overnight train running between Jakarta Gambir and Malang via Purwokerto and Blitar, and is one of the first trains to run with the new K10 bogie Eksekutif Class coaches. The train departs Jakarta Gambir at 5.45pm and arrives in Malang the next day at 9.20am.

Day 4: KA Bima from Malang to Surabaya Gubeng

Singapore to Bali Day 4 Bima Malang to Surabaya Gubeng 21

Price in Indonesian Rupiah: Rp. 60,000
Price in Singapore Dollars: S$6.30

It’s only a short hop from Malang to Surabaya with a distance of less than 100km. However, the only afternoon train with a good timing that suits me so happens to be the most expensive option – the KA Bima.

Luckily though, there is a special flat fare of Rp60,000 for journeys on the KA Bima between Malang and Surabaya Gubeng.

Day 4: KA Komuter SuPor from Surabaya Gubeng to Surabaya Kota

Singapore to Bali Day 4 Komuter SuSi Surabaya Gubeng to Surabaya Kota 06

Price in Indonesian Rupiah: Rp. 5,000
Price in Singapore Dollars: S$0.53

The Komuter SuPor (Surabaya-Porong) plies between Surabaya Kota and Porong via Sidoarjo. A flat fare of Rp5,000 applies for a ticket on the Komuter SuPor.

This train is still affectionally known to locals as the Komuter SuSi, with the old name attributed to the original Surabaya – Sidoarjo route before the extension to Porong.

Day 4: KA KRD Kertosono from Surabaya Kota to Surabaya Gubeng

Singapore to Bali Day 4 KRD Kertosono Surabaya Kota to Surabaya Gubeng 01

Price in Indonesian Rupiah: Rp. 10,000
Price in Singapore Dollars: S$1.05

The intra-city transport in Surabaya isn’t as efficient as many other cities in Indonesia, with the only means of public transport being the bemos. I could always have Uber-ed, Grab-ed or taxied back to my hotel, but where’s the fun in that?

And since I already came here by train, it’s only logical in my sense that I got another train back.

Day 5: KA Rapih Dhoho from Surabaya Gubeng to Kertosono

Singapore to Bali Day 5 Rapih Dhoho Surabaya Gubeng to Kertosono 07

Price in Indonesian Rupiah: Rp. 12,000
Price in Singapore Dollars: S$1.26

Once I realised that there’s no way I’m going to enjoy walking around Surabaya City for the next 11 hours to wait for the Mutiara Timur to Banyuwangi Baru and onwards to Denpasar, I opted to cover the missing line between Surabaya Gubeng and Kertosono which I missed out due to my detour to Malang.

Welcome to my kind of holiday.

Day 5: KA Rapih Dhoho from Kertosono to Surabaya Gubeng

Singapore to Bali Day 5 Rapih Dhoho Kertosono to Surabaya Gubeng 06

Price in Indonesian Rupiah: Rp. 12,000
Price in Singapore Dollars: S$1.26

As quickly as I arrived, it was time to head back.

Day 5-6: KA Mutiara Timur Malam from Surabaya Gubeng to Denpasar

Singapore to Bali Day 5 Mutiara Timur Malam Surabaya Gubeng to Banyuwangi Baru 16
Singapore to Bali Day 6 Ferry Ketapang to Gilimanuk 08
Singapore to Bali Day 6 DAMRI Bus Gilimanuk to Denpasar 01

Price in Indonesian Rupiah: Rp. 290.000 + Rp. 14.500 Tiket.com booking fee – Rp. 40.000 discount code = Rp. 264.500
Price in Singapore Dollars (POSB’s rate): S$28.71

It felt like just two days ago when I started the train journey from Jakarta, which indeed it was, and now it’s time for the last train journey to the eastern end of the railway in Java.

The KA Mutiara Timur Malam plies the route from Surabaya Gubeng to Banyuwangi Baru and onwards to Denpasar, despite there being no bridges to Bali island and no railway tracks on Bali island itself. However, it is considered a train destination and service in PT KAI’s books and the KA Mutiara Timur Malam night train service terminates there, even as announced in the station. That means to say that you can buy a single ticket from Surabaya Gubeng to Denpasar.

Day 7: Car Rental with Driver in Bali for Sightseeing

Singapore to Bali Day 7 Denpasar 54

Price in Indonesian Rupiah: Rp. 300.000
Price in Singapore Dollars: S$31.50

Pantai Melasti or Melasti Beach is a lesser known beach in Bali, since it doesn’t have any great sunrise or sunset views as it faces south, but it has one main feature which makes it of key importance for my trip to Bali – a spit from the beach, making it the southernmost point of Bali island.

From YorkSheffieldLondon, and et cetera all the way down here.

This is it – London to Singapore to Bali overland is completed.

Day 7: KLM Royal Dutch Airlines from Bali to Singapore

Singapore to Bali Day 7 KLM Denpasar Singapore 26

Price in Singapore Dollars: S$132.89

This is my first personal flight ever since I left for London (with a working trip in between as an exception, but that was a return so it cancels itself out), so the journey from London has been fulfilled unbroken on land.

I know, I know, I flew to London with Garuda Indonesia but am now flying from Indonesia on a European airline. Well, I go with whatever is the cheapest.


Food-wise, you can get really satisfying local meals for around Rp. 30,000 (S$3.15), and that’s already on the high side based on local prices. So this experience didn’t really break the bank as well, and I recommend you do it to. After all, how else can you say that you travelled by ship, in the most authentic sense of the word, from Singapore to Jakarta and Bali?

On top of that, the upper classes of the PELNI ships have all been removed except for the KM Kelud, KM Tidar & KM Tatamailau, so if you want to try out the First Class, you’d better plan your trip now for it is not known if PELNI will finally convert these 3 ships’ upper classes to Economy just like they’ve done to all their other 23 ships.

Given the time and opportunity, I would willingly do this all over again in a blink of an eye.

Revisit my journey from Singapore to Bali by Land and Sea here!


PT KAI Train Ticket Booking Methods
For Eksekutif, Bisnis and Ekonomi AC only. All other tickets are only sold at stations where the train serves.

  • PT KAI counters
  • Online from PT KAI‘s ticketing website but foreign credit cards do not work
  • Online from Tiket.com – foreign credit cards accepted

Tickets are open for sale 30 to 90 days before departure, depending on train service.

Hotel Booking

Attractions Booking

  • Klook (Get FREE $4.30*/RM12.90* voucher for your first purchase when you sign up here! *subject to exchange rate)

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.