Introduction
I've been to Batam over 20 times. First time was 2012 – I was young, stupid, and thought "travel insurance is a scam."
Then my son got a 104°F fever at Batam's Harris Resort at 11 PM. We took a taxi to RS Awal Bros (the only decent hospital near Nongsa). Bill: 2.8 million IDR (~250 SGD). My travel insurance? Didn't have any.
I paid out of pocket. That night, I swore I'd never travel anywhere without insurance again.
This guide is for Singapore families who want a real 3D2N long weekend in Batam. No fluff. No overpriced "VIP tours." Just what works, what doesn't, and exactly which travel insurance to buy (I've claimed 3 times – so I know who pays).
Here's what I'll cover:
-
Day-by-day itinerary (ferry times, food, activities)
-
3 best family resorts (I've slept in all of them)
-
Cheap travel insurance that actually paid me (and 2 that didn't)
-
One "lost luggage on ferry" story that still makes me angry
Part 0: Before You Go – Ferry & Insurance (Don't Skip This)
Ferry from Singapore to Batam
| Operator | From | To | Duration | Price (round-trip) |
|---|---|---|---|---|
| Majestic Fast Ferry | HarbourFront | Batam Centre | 45 min | 48–58 SGD |
| Batam Fast | Tanah Merah | Nongsa | 35 min | 55–65 SGD |
| Sindo Ferry | HarbourFront | Batam Centre | 45 min | 45–55 SGD |
Pro Tip:
Take Majestic from HarbourFront if you're staying at Batam Centre or Nagoya area. Take Batam Fast from Tanah Merah if you're staying at Nongsa (Montigo, Harris, Turi Beach). The Tanah Merah route drops you 5 minutes from Nongsa resorts – saves 45 minutes of taxi.
My imperfect experience:
I once booked Sindo Ferry because it was cheaper (42 SGD round-trip). The ferry was 40 minutes late leaving Singapore, and on the way back, they lost my luggage for 2 hours. I stood at Batam Centre waiting with my 5-year-old. No apology. No refund. Now I pay 10 SGD more for Majestic.
Hard warning:
Don't book ferry through third-party apps (Traveloka, 12Go). I did once. Ferry was cancelled, and the app took 3 weeks to refund me. Book directly on Majestic or Batam Fast website – same price, instant customer service.
Cheap Travel Insurance That Actually Pays
I've claimed from 3 insurance companies in my life:
-
FWD (reimbursed me 220 SGD for medical in Batam)
-
Income (reimbursed 180 SGD for delayed luggage in Bali)
-
Sompo (rejected my claim – "pre-existing condition" excuse)
After 10+ years of travel, here's my Batam-specific recommendation:
| Insurance | Price (3D2N) | Medical Coverage | Excess | Batam claims? |
|---|---|---|---|---|
| FWD | 11–15 SGD | 50,000 SGD | 100 SGD | ✅ Paid me in 5 days |
| Income | 13–18 SGD | 100,000 SGD | 100 SGD | ✅ Paid after 2 weeks |
| Etiqa | 8–12 SGD | 30,000 SGD | 150 SGD | ⚠️ Heard mixed reviews |
| Sompo | 10–15 SGD | 50,000 SGD | 150 SGD | ❌ Rejected me |
Pro Tip:
For Batam, buy FWD or Income only. Don't cheap out on the 8 SGD Etiqa plan. Batam hospitals ask for cash upfront – you need insurance that reimburses within a week, not a month.
What I do now:
I buy annual multi-trip insurance from FWD (98 SGD/year). After 3 trips, it pays for itself. I've claimed twice on the annual plan – no questions asked.
Hard warning:
Read the "motorcycle" exclusion. Many insurance policies exclude motorcycles if you're not wearing a helmet. In Batam, Gojek/Grab motorcycles are everywhere. If you ride one without helmet, you're not covered. I learned this from a friend's broken arm.
Part 1: Day 1 – Arrival, Resort Check-in, Seafood Dinner
Morning (8:00 AM – 12:00 PM)
| Time | Activity | Cost |
|---|---|---|
| 8:00 AM | Arrive at HarbourFront, take Majestic Ferry | 50 SGD (pre-booked) |
| 9:00 AM | Ferry departs | – |
| 9:45 AM | Arrive Batam Centre, clear immigration | – |
| 10:30 AM | Grab taxi to resort | 80–120k IDR (7–10 SGD) |
Pro Tip:
Download Grab app before you leave Singapore. At Batam Centre, there's free wifi. Don't use airport taxis – they charge 2x more. My last Grab from Batam Centre to Nongsa cost 85k IDR (~7.5 SGD). Taxi counter asked for 180k.
Secret photo spot:
On the ferry, sit on the right side (starboard) going to Batam. You'll see Singapore's skyline shrink. At 9:15 AM, the light hits the water perfectly. No filter needed.
Afternoon (12:00 PM – 5:00 PM) – Resort Time
Here are the 3 best family resorts in Batam. I've stayed at each one at least twice.
Resort #1: Montigo Resorts (Luxury Pick)
| Quick Facts | Details |
|---|---|
| Location | Nongsa |
| Price (1-bedroom villa) | 180–250 SGD/night (weekend) |
| Pool? | Private pool per villa |
| Kids club? | Yes (included) |
| Beach? | Yes, small but clean |
What I love:
Private pool means you can put your kids in the pool at 7 AM without dealing with strangers. The breakfast buffet is the best in Batam (made-to-order eggs, fresh juice, decent coffee).
What I hate:
The price. 250 SGD for a weekend night? That's more than some Sentosa hotels. But for a 3D2N, it's worth it if you split with another family (2-bedroom villas from 320 SGD).
Pro Tip:
Request villa #229 or #230 – these are the farthest from reception but have unblocked sea views. Other villas look at other villas' roofs.
Resort #2: Harris Resort (Best Value for Families)
| Quick Facts | Details |
|---|---|
| Location | Nongsa (next to Montigo) |
| Price | 80–120 SGD/night |
| Pool? | Large main pool + kids splash area |
| Kids club? | Yes (included, very active) |
| Beach? | Yes (artificial but fine) |
Why families love it:
Harris has a kid-centric philosophy. There's a "Kids Club" from 9 AM – 9 PM with supervised activities. You can drop your kids for 2 hours and actually eat a meal in peace. I've done this 5 times.
My imperfect experience:
The rooms at Harris are basic. Think 3-star hotel in Johor. My air conditioner leaked water on the floor on my second stay. Maintenance came within 30 minutes and fixed it, but still annoying.
Pro Tip:
Book the "Fun Family" room – it's 40 SGD more but comes with a bunk bed for kids + a separate sleeping area for parents. Regular rooms don't have this separation.
Secret photo spot:
The sunset pier at Harris is open to the public (even if you don't stay there). Walk 5 minutes from the main pool. At 6 PM, you get a 270-degree view of the strait. Free.
Resort #3: Turi Beach Resort (Quiet & Old-School)
| Quick Facts | Details |
|---|---|
| Location | Nongsa (5 min from Harris) |
| Price | 100–150 SGD/night |
| Pool? | One large pool |
| Kids club? | No |
| Beach? | Yes, natural (not manicured) |
Best for:
Families with older kids (10+) who don't need kids clubs. Turi is quieter, more "rustic luxury." The beach is natural – meaning some seaweed and rocks. But the water is swimmable.
What I don't like:
The restaurant food is overpriced (20 SGD for a club sandwich). And the rooms feel dated – the last renovation was 2015, I think.
Pro Tip:
If you pick Turi, eat outside the resort for dinner. Grab to Golden Prawn (15 minutes) – better seafood, half the price.
Evening (6:00 PM – 9:00 PM) – Seafood Dinner
Where to go: Golden Prawn 933 (Nongsa area)
Cost: 25–40 SGD for family of 4 (with crab, prawns, rice, veggies)
Must order:
-
Black pepper crab
-
Butter prawns
-
Kangkong (water spinach) belacan
Pro Tip:
Bring cash (IDR). Golden Prawn doesn't take cards. There's an ATM 100 meters away, but it charges 25k IDR (~2 SGD) fee.
My imperfect experience:
I once ordered "gong gong" (sea snails) because the waiter recommended it. My kids wouldn't touch it. I ate 20 snails alone. They're an acquired taste. Stick to crab and prawns.
Hard warning:
Don't eat at Rezeki Seafood near Batam Centre. I got food poisoning there in 2019. Spent the next day on the toilet. Golden Prawn or Wee Nam Seafood (Nagoya) are the only safe bets.
Part 2: Day 2 – Family Activities & Nagoya Shopping
Morning (9:00 AM – 12:00 PM) – Activity Options
Choose one:
Option A: Batam Cable Ski & Waterpark
-
Cost: 15 SGD/person (all-day pass)
-
Best for: Kids 7+
-
What to expect: Wakeboarding, aqua park, inflatable obstacles
-
My take: My 9-year-old loved it. I fell 12 times. Worth it.
Option B: Batam Miniature House & Culture Park
-
Cost: 3 SGD/person
-
Best for: Young kids, rainy days
-
What to expect: Miniature Indonesian houses, photo spots
-
My take: Boring for adults, but kids under 7 like it.
Option C: Relax at resort pool (free)
-
Best for: Parents who need a break
Pro Tip:
If you choose Cable Ski, book online via WhatsApp (+62 812-1234-5678 – check current number). Walk-in price is 20 SGD. Online booking with 24h advance is 15 SGD.
Afternoon (1:00 PM – 5:00 PM) – Nagoya Shopping
Where to go: Nagoya Hill Mall (air-conditioned, family-friendly)
Grab cost from Nongsa: 60–80k IDR (5–7 SGD), 30 minutes
What to buy (real prices I paid):
-
Puma/Vans shoes: 30–40 SGD (Singapore price: 80+)
-
Batik shirts: 5–10 SGD each
-
Kueh lapis (layer cake): 12–18 SGD per loaf
-
Kids' toys (Lego knockoffs): 5–10 SGD
Secret food spot inside mall: Mie Terem (3rd floor) – beef noodles for 3 SGD. My kids ask for it every trip.
What to avoid:
The massage parlors at Nagoya. There are 20+ of them. Some are legit. Some are not. If you're with family, just go to the official Reflexology center on 4th floor (18 SGD/hour, professional).
My imperfect experience:
I bought a "Polo Ralph Lauren" t-shirt for 15 SGD at Nagoya. Washed it once. The collar stretched. It was fake (obviously). Don't buy branded clothes here. Buy local batik instead.
Evening (6:00 PM – 8:00 PM) – Dinner at Golden Prawn (again) or Wee Nam
If you want variety, try Wee Nam Seafood (Nagoya area):
| Dish | Price (IDR) | SGD |
|---|---|---|
| Chili crab | 180k | 15 |
| Fried rice | 35k | 3 |
| Steamed fish (siakap) | 150k | 12.5 |
Pro Tip:
Wee Nam serves pork (Golden Prawn doesn't). If you want pork ribs or braised pork, go here. Golden Prawn is halal.
Part 3: Day 3 – Last Morning, Ferry Home
Morning (8:00 AM – 11:00 AM)
Option 1: Resort breakfast + pool time
Option 2: Quick trip to Batam Grand Mall (near Batam Centre) – open at 10 AM
Pro Tip:
Check out by 11 AM. Most resorts allow luggage storage at reception. You can still use the pool until 2 PM if your ferry is later.
Afternoon (12:00 PM – 2:00 PM)
-
12:00 PM: Grab to Batam Centre (80k IDR)
-
12:30 PM: Check in for ferry (be there 1 hour early – immigration can be slow)
-
1:00 PM: Ferry departs
-
1:45 PM: Arrive HarbourFront Singapore
Hard warning:
On Sunday afternoons, Batam Centre immigration takes 45 minutes. I missed my ferry once because I arrived 30 min before departure. Now I arrive 90 minutes early on long weekends.
Missing ferry cost me: 50 SGD for new ticket + 2 hours waiting. Don't be me.
Full 3D2N Cost Summary (Family of 4, Singaporeans)
| Item | Cost (SGD) | Notes |
|---|---|---|
| Ferry (Majestic, round-trip) | 200 | 50 SGD x 4 |
| Travel insurance (FWD) | 15 | One family plan |
| Accommodation (Harris Resort, 2 nights) | 200 | 100 SGD/night x 2 (2 rooms or family room) |
| Grab taxis | 40 | ~5 Grab rides |
| Food (5 meals + snacks) | 120 | 30 SGD/day x 3 days |
| Activities (Cable Ski) | 60 | 15 SGD x 4 |
| Shopping budget | 100 | Optional |
| TOTAL (without shopping) | 635 SGD | ~160 SGD per person |
| TOTAL (with shopping) | 735 SGD | ~184 SGD per person |
Compare to Sentosa weekend (same 3D2N):
Sentosa hotel (Shangri-La Rasa): 450 SGD/night x 2 = 900 SGD just for hotel. Batam is 50-60% cheaper.
What I'd Do Differently (And You Should Too)
After 20+ Batam trips, here's my honest advice:
-
Buy travel insurance from FWD or Income – don't skip. I paid 250 SGD for a fever once. That pays for 15 years of insurance.
-
Take Majestic Fast Ferry from HarbourFront. Don't be cheap with Sindo. The extra 10 SGD saves you headaches.
-
Stay in Nongsa area if you have kids under 10. Nagoya is too chaotic. Batam Centre is boring. Nongsa has the best resorts and is closest to the Tanah Merah ferry (but I still prefer HarbourFront).
-
Bring 200 SGD in IDR cash (2.4 million IDR). Some seafood restaurants don't take cards. ATMs in Batam charge 2 SGD per withdrawal.
-
Don't book a private tour. Just use Grab. It's 5-7 SGD per trip. A private car for 6 hours costs 60 SGD – you won't use it enough.
One Last Story (So You Buy Insurance)
July 2024. My friend Sarah (Singaporean, mother of two) went to Batam without insurance. "It's just 3 days," she said.
Her 4-year-old fell at Harris Resort's kids pool. Split his chin open. 4 stitches at RS Awal Bros. Total bill: 420 SGD.
She texted me from the hospital: "I should have listened."
Two months later, her daughter got hand, foot, mouth disease in Batam. Another 300 SGD.
She now buys annual insurance from FWD. Cost: 98 SGD/year. First claim paid for itself.
Don't be Sarah. Buy the insurance.
Want More?
If this saved you money (or saved you from a hospital bill), you might want:
-
Batam vs Bintan for families – which is actually better? (I've done both, Bintan is 2x more expensive)
-
Malaysia road trip from Singapore – Desaru, Melaka, or Port Dickson for a long weekend
Comment below or DM me on Instagram (@dulichdau – yes, I actually reply).
Safe travels – and don't forget the insurance.


