A Batam ferry from Singapore advertises as S$28 to S$43 one-way, but the S$28 headline leaves out the fees that hit before you board. By the time you add the S$10 Singapore passenger departure fee, the S$6 fuel surcharge that took effect on 12 March 2026, and the Batam seaport fee of about Rp100,000 (roughly S$10) charged on the Indonesian side, a one-way crossing usually lands between S$40 and S$45, and a return between S$75 and S$90 depending on operator. Sindo has the lowest base fare, but BatamFast and Majestic's S$76 return includes every fee and comes out cheaper all-in. Bintan is a separate route from Tanah Merah and costs more. This guide gives the all-in 2026 numbers operator by operator, shows where every fee hides, and points out the cheapest realistic way across the strait. Figures are correct as of October 2026; fares and surcharges are revised often, so confirm the total on the operator's booking page before you pay.
Update, 14 October 2026: the operators' own fare pages put an all-in Batam one-way at S$40 to S$45, not the S$45 to S$55 we gave in June. Batam and Bintan are two different Indonesian islands reached by two different ferry systems, and people routinely confuse them. Batam is the close one, 45 to 70 minutes from Singapore, served by four operators from two terminals, and the cheaper trip. Bintan is further out, about 70 minutes from Tanah Merah, run mainly by Bintan Resort Ferries, and noticeably pricier. If someone quotes you a S$28 fare, they mean Batam.
The number that matters is not the ticket fare. It is the all-in cost after the three add-on charges that every operator passes through: the Singapore passenger departure fee, the fuel surcharge, and the Batam seaport fee on the Indonesian side. Most booking sites bundle these into the price you see, but the cheaper resellers sometimes show only the base fare, which is how a S$28 ticket quietly becomes S$44 at checkout.
Four operators run the Singapore to Batam route: Sindo Ferry, BatamFast, Majestic Fast Ferry and Horizon Fast Ferry. Sindo and BatamFast sail from both HarbourFront and Tanah Merah; Majestic and Horizon are mainly HarbourFront. The fares below are per operator as published in October 2026 (Horizon's in June 2026). Sindo's leave out the add-ons; BatamFast's and Majestic's include them. Treat the all-in column as a planning estimate, not a quote, because the seaport fee is paid in rupiah and shifts with the exchange rate.
Sindo carries the lowest base fare at S$28 one-way and S$56 return, which is why budget travellers default to it. But BatamFast and Majestic's S$43 one-way and S$76 return already include every fee, while Sindo's S$56 return comes to about S$88 once its fees are added. On a return trip the fee-inclusive operators come out about S$12 a head cheaper, and they run more sailings too.
| Operator | One-way base | Return base | All-in return (est.) | Terminals |
|---|---|---|---|---|
| Sindo Ferry | S$28 | S$56 | ~S$88 | HarbourFront, Tanah Merah |
| BatamFast | S$43 | S$76 | S$76 (fees bundled) | HarbourFront, Tanah Merah |
| Majestic Fast Ferry | S$43 | S$76 | S$76 (fees bundled) | HarbourFront |
| Horizon Fast Ferry | S$43 | S$76 | ~S$76 | HarbourFront |
This is where the maths goes wrong for first-timers. The fare is only one of four line items, and the other three are non-negotiable pass-through charges that apply no matter which operator you pick.
The Singapore passenger departure fee is S$10 per person from either HarbourFront or Tanah Merah, covering departure, security, system and admin charges. The fuel surcharge of S$6 per person leaving Singapore took effect on 12 March 2026 across operators; on the return leg it is charged in rupiah, around IDR 65,000. The Batam seaport fee on the Indonesian side is about Rp100,000, which the operators round to roughly S$10 per person. Stack the two Singapore charges on a S$28 Sindo base fare and the trip out costs S$44; the Batam fee lands on the way back.
The cleanest way to avoid a checkout surprise is to read the price breakdown before paying. If the site shows only a fare with no departure fee or surcharge line, assume those get added later or collected at the terminal, and budget about S$16 extra per person each way. Treating the whole trip as one budget line, the way a personal budget forces you to, stops these small charges slipping past unnoticed.
| Fee | Amount | When it applies |
|---|---|---|
| Singapore passenger departure fee | S$10 | Leaving Singapore (HarbourFront or Tanah Merah) |
| Fuel surcharge | S$6 (out), ~IDR 65,000 (return) | Both directions, since 12 Mar 2026 |
| Batam seaport fee | ~Rp100,000 (~S$10) | Leaving Batam ports |
Update, 14 October 2026: on the operators' own fare pages, BatamFast and Majestic's fee-inclusive S$76 return is about S$12 cheaper than Sindo's, which comes to about S$88 once its fees are added. Sindo's S$28 base fare looks like the lowest starting point, but its fees come on top. Load them on and BatamFast or Majestic is the cheaper return, and a return there costs S$76 against S$83 for two singles. BatamFast and Majestic run sailings roughly hourly through the day from HarbourFront, which means a missed boat costs you an hour, not a whole afternoon.
Resellers such as redBus or Klook sometimes undercut the operator counter with promo fares from around S$38 return, but promo tickets are usually fixed-date and non-refundable. That is fine if your dates are locked, and a trap if they are not, because a date change can mean rebooking the whole leg. Buy the cheapest fare only after your dates are firm.
Watch the JB alternative that some guides push. Routing through Johor Bahru to catch a cheaper ferry can look like a saving on paper, but once you cost the trip to JB, the checkpoint time and the extra transfers, it rarely beats a direct HarbourFront sailing for a Singapore-based traveller. The same discipline from our Johor Bahru budget guide applies: count every leg, not just the cheap one.
Update, 14 October 2026: BRF's fare page says its fares already include the S$19 and S$25 levies, so a regular economy adult return is S$100 all-in, not the S$144 we gave before. If your plan is a Bintan resort weekend rather than a Batam day trip, the numbers change. Bintan Resort Ferries runs the main service from Tanah Merah Ferry Terminal to Bandar Bentan Telani, the gateway to the Lagoi resort strip, and its fares are set well above Batam's. The crossing is about 70 minutes.
From BRF's published fares effective 12 March 2026, economy is S$62 one-way and S$100 return for an adult on regular dates, rising to S$110 return on peak or blackout dates such as holiday weekends. Emerald class, with lounge access and premium seats, is S$89 one-way and S$154 return regular. Child fares (11 and under) run a little lower. BRF's fares already include its levies of S$19 leaving Singapore and S$25 leaving Bintan per passenger, which are the Bintan equivalent of Batam's departure and seaport fees. So a regular economy adult return is S$100 all-in.
The practical takeaway: a Bintan return costs S$100 a head against S$75 to S$90 for Batam, so it only makes sense when the destination is the resort itself, not just crossing the strait. For couples weighing a getaway against the cost, pricing the full trip the way our cheap travel hacks suggest, including ferry, levies, transfers and resort, keeps the weekend honest against your savings rate.
| Class | One-way | Return (regular) | Return (peak) |
|---|---|---|---|
| Economy | S$62 | S$100 | S$110 |
| Emerald | S$89 | S$154 | S$164 |
Update, 14 October 2026: HarbourFront ferries moved on 15 July 2026 from the old terminal at HarbourFront Centre to the new Singapore Cruise Centre (HarbourFront) at 5 HarbourFront Avenue. It is still the convenient terminal: take the North-East or Circle line to HarbourFront MRT, leave by Exit B and follow the covered walkway through HarbourFront Tower 1, so the cheap way in is the train, not a taxi from town. Tanah Merah Ferry Terminal at 50 Tanah Merah Ferry Road is not on the MRT; reach it by taking the train to Bedok or Tanah Merah and then SBS bus 35, which is far cheaper than a Grab. Arrive about an hour before your Batam sailing to clear check-in, baggage drop and immigration.
If you do take a ride to either terminal, a quick fare check pays off, since the first car that turns up is rarely the cheapest. The same logic from a Grab versus taxi comparison holds: compare before you book. On the Batam side, onward transport is by metered taxi or Grab from the port, so agree the fare or use the app rather than taking a tout's quote at the terminal door.
Singapore passport holders do not need a visa for Batam or Bintan and get up to 30 days per entry visa-free, with the clock starting on arrival. That alone saves the visa-on-arrival fee other nationalities pay. Singapore Permanent Residents holding a Blue IC from a visa-on-arrival-eligible country are also exempt from the VOA for short visits to Batam, Bintan and Tanjung Balai Karimun of up to four days, provided they show the physical Blue IC at immigration.
What does still apply is Indonesia's Electronic Customs Declaration (e-CD), which every traveller must complete within 72 hours of arrival. It is free, takes a few minutes online, and you need the completed form to clear customs on the Indonesian side. Skipping it is the cheap mistake that turns a smooth arrival into a queue. Make sure your passport has more than six months' validity on your entry date, since a near-expiry passport can get you turned away and the ferry fare is non-refundable once you miss the boat.
Batam and Bintan run on the Indonesian rupiah, and the worst rate you can get is at the ferry terminal money changer, which prices like an airport kiosk. Change a working amount at a good Singapore rate shop before you go, comparing the buy and sell columns the way our money changer guide lays out, so you are not handing over a poor margin on every note.
For card spend at resorts, malls and restaurants, a multi-currency or travel card with low foreign-exchange fees beats a standard credit card that adds a 3.25 percent or so foreign transaction fee on every swipe. Carry some cash for taxis, small warungs and the seaport fee, which is collected in rupiah, and keep your card for larger bills. Pricing the whole weekend in one place, with a simple money management habit, stops the ferry, levies, FX and food from each looking small while adding up to more than you planned.
Base fares run from about S$28 one-way and S$56 return with Sindo Ferry, up to S$43 one-way and S$76 return with BatamFast, Majestic and Horizon. BatamFast and Majestic already bundle the fees into that price. Sindo's all-in cost is higher once you add the S$10 Singapore departure fee, the S$6 fuel surcharge from 12 March 2026, and the Batam seaport fee of about Rp100,000 (roughly S$10), so a real one-way crossing usually lands between S$40 and S$45.
Sindo Ferry has the lowest base fare at S$28 one-way and S$56 return, but its departure fee, fuel surcharge and Batam seaport fee come on top, which takes a return to about S$88. BatamFast and Majestic charge S$76 return with every fee included, so all-in they are about S$12 a head cheaper.
Three charges sit on top of the fare. The Singapore passenger departure fee is S$10 per person, the fuel surcharge is S$6 leaving Singapore (around IDR 65,000 on the return) since 12 March 2026, and the Batam seaport fee is about Rp100,000 (roughly S$10) collected on the Indonesian side. Some booking sites bundle these in; cheaper resellers sometimes show only the base fare.
The crossing is about 45 to 70 minutes depending on the route, with HarbourFront to Batam Centre nearer 55 to 70 minutes and the HarbourBay and Sekupang runs around 40 to 50 minutes. Door to door, add roughly an hour each way for check-in, baggage and immigration at the terminal.
Yes, noticeably. Bintan Resort Ferries from Tanah Merah charges S$62 one-way and S$100 return in economy on regular dates, rising to S$110 return on peak dates, with levies of S$19 leaving Singapore and S$25 leaving Bintan already included. That is more per head than a Batam return of S$75 to S$90, so Bintan only makes sense when the resort itself is the destination.
No. Singapore passport holders are visa-free for stays up to 30 days per entry, with no visa-on-arrival fee. Every traveller still has to complete Indonesia's free Electronic Customs Declaration within 72 hours of arrival, and your passport must be valid for more than six months on your entry date.
Online booking on the operator or a reseller usually matches or beats the counter and locks your seat, which matters during peak periods when walk-up sailings sell out. Promo fares from around S$38 return are the cheapest, but they are fixed-date and non-refundable, so only book those once your travel dates are firm.
This is general financial information for Singapore, not personal financial advice. Figures change, so verify current rates against the official sources above before acting. See our full disclaimer.
Junxiong-WFG Organisation is an authorised representative of AIA Financial Advisers Private Limited (Reg. No. 201715016G).