Updated: April 28, 2025 by Michael Kahn. Published: April 28, 2025.
Planning a quick getaway from Malaysia to Indonesia? Traveling by ferry is one of the most convenient and scenic ways to hop between Johor Bahru and Batam. With multiple departures, straightforward immigration processes, and easy ticket booking options, the journey is smooth and perfect for a weekend escape. Here’s a detailed guide to help you plan your Johor Bahru to Batam ferry trip.

Table of Contents
Departure Ports: Stulang Laut and Puteri Harbour
The Johor Bahru to Batam ferry service operates mainly from two key ports: Stulang Laut Ferry Terminal and Puteri Harbour Ferry Terminal.
Stulang Laut Ferry Terminal is located near the heart of Johor Bahru, making it a popular choice for travelers staying in the city. It’s connected to the Berjaya Waterfront Hotel, offering convenient amenities like dining and shopping options.
Puteri Harbour Ferry Terminal is located in the upscale area of Iskandar Puteri, close to attractions like LEGOLAND Malaysia and Hello Kitty Town. It’s ideal for those traveling from the western side of Johor or visiting nearby resorts.
Both terminals offer modern facilities, ample parking, and efficient check-in counters to streamline your travel experience.
Journey Duration and Schedule
The ferry ride from Johor Bahru to Batam usually takes about 90 minutes. Ferry services operate multiple times a day, giving travelers flexibility to choose a convenient departure time.
Typical departure schedules are:
- Morning departures: 8:00 AM, 10:00 AM
- Midday departures: 12:00 PM, 2:00 PM
- Evening departures: 4:00 PM, 6:00 PM
However, schedules can vary slightly depending on the day and season. It’s advisable to check the latest timings before making plans, especially during peak holiday seasons.
Ticket Booking Process
Booking your Johor Bahru to Batam ferry tickets is simple and hassle-free when done through redBus. redBus offers a secure and reliable platform to reserve your ferry seats online.
Here’s how you can book:
- Visit the redBus website or app.
- Select your departure port (Stulang Laut or Puteri Harbour) and destination (Batam Centre or Harbour Bay).
- Choose your preferred date and time.
- Make the payment securely through various options like credit/debit cards or e-wallets.
- Receive your e-ticket via email or the redBus app.
Booking in advance not only guarantees you a seat but also helps you avoid last-minute price surges.

Immigration Steps
Since you’re traveling internationally, you’ll need to clear immigration at both Johor Bahru and Batam.
At Johor Bahru:
- Arrive at the ferry terminal at least 90 minutes before departure.
- Proceed to the ferry check-in counter to collect your boarding pass.
- Clear Malaysian immigration by showing your passport and ferry ticket.
On Arrival at Batam:
- Head to the Indonesian immigration counter.
- Submit your passport and complete any arrival forms provided on the ferry or at the terminal.
- Once cleared, you’re free to explore Batam.
Ensure your passport has a minimum of six months’ validity from your travel date. Also, check if you require a visa based on your nationality.
Return Travel Tips
When planning your return journey from Batam to Johor Bahru, keep these tips in mind:
- Book your return ferry tickets through redBus in advance to secure your preferred timing.
- Arrive at the Batam ferry terminal early to avoid any last-minute rush.
- Remember to complete the Indonesian immigration exit procedures before boarding the ferry.
- Malaysian immigration clearance is required upon arrival back in Johor Bahru, so have your documents ready.
Taking a Johor Bahru to Batam ferry is an excellent choice for a quick international getaway. With organized ferry terminals, efficient immigration processes, and easy online booking via redBus, your travel will be smooth and stress-free. Whether you’re heading over for shopping, dining, or a relaxing spa retreat, Batam promises a refreshing change of scenery just across the sea.