Kota Kinabalu to Beaufort by Train: My Sabah Railway Journey

Getting to Kota Kinabalu, Sabah

This train journey was very much a last-minute decision, with very little preparation. Part of that was down to the uncertainty of it all, as tickets for the Sabah State Railway can only be bought on the day at the train station itself.

Just two days earlier, I was still in the rural rice fields of Thailand. After a six-hour bus journey, I finally made it to Bangkok, before catching an early-ish flight via Kuala Lumpur to Kota Kinabalu, arriving in the evening. I had already documented the Bangkok to Don Mueang Airport train journey separately.

And yeah, the very next morning I’d be setting off on an old-school railway journey into the rainforests of Borneo.

AirAsia aircraft parked at Don Mueang International Airport in Bangkok
Leaving Bangkok behind on the way to Kota Kinabalu via Kuala Lumpur.

My Night in Kota Kinabalu

I landed in Kota Kinabalu at around 6:00 PM and took a Grab (Asia’s Uber) to C’haya Hotel in Tanjung Aru, not too far from the train station. I’d chosen it partly because it had an awesome rooftop pool. Unfortunately, the pool closed at 6:30 PM and didn’t reopen until 9:00 AM. So I never even saw it. For an early start on the railway, there are other hotels around Tanjung Aru worth checking out too.

I then spent the night filling in a Thai tourist visa application, all because I’d lost my passport while travelling in the Camargue in France the month before. I’d managed to renew my passport in time, but there wasn’t enough time left to apply for the visa before travelling to Thailand. Malaysia was probably the simplest place for me to sort it out. Not exactly the relaxing night I’d planned before an early morning train.

This would also be my first time travelling solo since the birth of baby Beansie (10 months old now), and I wanted to make it count. Although I admit I was thinking… maybe I could just sleep for a day or five. Unfortunately, that wasn’t really possible with flights to Kuala Lumpur just three days ahead. Anyway, after finally finishing the visa application, I got round to looking at the route ahead.

Morning view over Tanjung Aru rooftops and coastline from a hotel in Kota Kinabalu Sabah
Morning views across Tanjung Aru and the coast from my hotel in Kota Kinabalu.

Planning the Kota Kinabalu to Tenom Train Journey

Originally, I’d planned to complete the entire rail journey from Kota Kinabalu to Tenom in one day. But after realising there was a four-hour stopover in Beaufort, and that I’d arrive late in Tenom, I decided to split it into two more relaxed rail journeys. The first night in Beaufort, the second in Tenom, and then potentially the train back to Kota Kinabalu the following day if time allowed. Or maybe a bus. Then it would be time for my flight to Kuala Lumpur the next day.

So it was a rushed itinerary, and I only got round to booking hotels late the night before. While I managed to find a decent place in Tenom, I was scrambling to find anything in Beaufort at all. Otherwise, I was just happy to have them booked, and now it was fingers crossed that things wouldn’t go tits up along the way.

Next up, the train from Kota Kinabalu to Beaufort.

Traveller seated inside a busy Sabah State Railway carriage
Please Let Me Sleep 😭 Next Stop Beaufort

Tanjung Aru Railway Station in Kota Kinabalu

I arrived at Tanjung Aru Railway Station at around 6:50 AM, following a quick five-minute Grab ride from my hotel, which cost around RM7. There were already people sitting around waiting, although the ticket counter was still closed.

Next to the station is a string of small local eateries, handy for grabbing breakfast before the journey. I’m not sure how many were open at that hour, but the nearest nasi campur (mixed rice) restaurant seemed to be doing a busy trade.

The ticket counter opened at pretty much 7:00 AM on the dot. I’d been a little worried about potentially not getting a ticket, but nobody else seemed to be in much of a hurry to buy one. Everyone was taking things fairly casually.

English is widely spoken in Sabah, so communicating at the ticket counter was straightforward. My adult ticket from Tanjung Aru to Beaufort cost RM4.80, with the departure printed as 7:45 AM. This was in 2026 (be sure to check the official Sabah State Railway website for current ticket prices and timetables).

There was also an upstairs floor above the station with a café, although the lifts and escalator were closed and parts of the station seemed unused. Maybe it was just too early in the morning. Either way, I decided to take the stairs and have a look around on foot.

Upstairs I waited for the train to arrive, hoping to catch it coming into the station. Unfortunately, I was standing on the wrong side and completely missed its arrival. The train pulled in just before 7:30 AM, leaving me rushing back downstairs to get on board, and I was lucky to get a window seat with the last in my carriage.

Sabah State Railway ticket from Tanjung Aru to Beaufort showing the fare and departure time
My Tanjung Aru to Beaufort ticket in November 2026. Check the official railway website for current fares.
Covered entrance and stairs to the upper floor at Tanjung Aru railway station
Exploring the upper floor of Tanjung Aru Railway Station.
Elevated view of train tracks and platforms at Tanjung Aru railway station in Sabah
A view over the platforms from the upstairs level.
Passengers boarding the Sabah State Railway train at Tanjung Aru station in Kota Kinabalu
Passengers boarding the Sabah State Railway train at Tanjung Aru.
Cream and green Sabah State Railway passenger carriages at Tanjung Aru station
The Sabah State Railway carriages waiting at Tanjung Aru.

Onboard the Sabah State Railway Train

For the train nerds. The Sabah State Railway train was a proper old-school sight, with a blue front and a driver’s cab full of chunky levers, switches and analogue gauges. I had time to photograph it properly after arriving in Beaufort.

The carriages are air-conditioned, although it was pleasantly cool in the morning and I probably would have preferred those old revolving fans, although I’m guessing I’m one of very few.

There were toilets in each carriage, although I didn’t see anyone using them. No Wi-Fi, as expected. You could move between carriages but nobody really seemed to bother.

Otherwise the train was surprisingly loud and bumpy, which was a welcome change from my more recent silky-smooth high-speed train journeys in China. The rattling and rocking were all part of the experience. We’re back to proper train travel. Wooo Woooo!

Passengers beside the windows inside the Sabah State Railway train
Passengers enjoying the countryside from the carriage windows.
Front of the blue Sabah State Railway train at Beaufort station with passengers walking along the platform
The blue Sabah State Railway train after arriving at Beaufort.
Driver's cab of the Sabah State Railway train with analogue gauges, levers and control panels
Inside the driver’s cab, with its old-fashioned levers and analogue controls.

Best Seating Option on the Sabah State Railway

Inside, the carriages have unassigned seats facing both ways, so it’s first come, first served. There are windows throughout the carriage but some open and some do not. I counted roughly one in every three windows designed to open (just look for the latch). The others are fixed windows, not broken ones.

Fortunately the seats can swivel using a yellow pedal underneath. I saw someone turn theirs, but mine wouldn’t budge. The jackpot is a forward-facing seat beside an opening window, but I’d prioritise the window and hope the seat swivels. Better than facing forwards behind sealed glass if planning on taking photos etc.

I was otherwise torn on which side was best. The left has hilly inland views, while the right is more lowlands and mangroves. I kept getting jealous of the views on the opposite side, although I’d probably have felt the same if I switched. It’s a coin toss really. Take your pick.

Passengers seated inside the Sabah State Railway train from Kota Kinabalu towards Beaufort
Inside the Sabah State Railway carriage, with seats facing in both directions.
Tropical palms and dense green vegetation seen from a passenger train window on the Sabah State Railway
A window-side view of Sabah’s tropical greenery from the old railway carriage.
Orange foot pedal underneath a Sabah State Railway seat
The orange pedal underneath the seat, used to swivel it around.

Train Stops from Kota Kinabalu to Beaufort

The journey follows the Sabah State Railway’s main line south through coastal towns and rural Sabah before reaching Beaufort.

I documented the times myself as we stopped at each station, so these are the actual arrival times from my journey in 2026 rather than the scheduled timetable.

Railway stationActual time (2026)
Tanjung Aru7:50 AM — Departure
Putatan7:58 AM
Kinarut8:11 AM
Kawang8:22 AM
Papar8:39 AM
Kimanis9:00 AM
Bongawan9:11 AM
Membakut9:27 AM
Beaufort9:50 AM — Arrival

From Beaufort the railway continues inland towards Tenom which is the next journey to come.

Passengers boarding the Sabah State Railway train at Membakut station beneath Sabah and Malaysian flags
Passengers at Membakut Station, one of the busier stops on the journey.
View along the platform at Kinarut railway station beside the Sabah State Railway train
Kinarut railway station, the second stop after leaving Kota Kinabalu.
Market stalls, cars and local buildings near Kinarut railway station in Sabah
A busy morning around Kinarut Town, just beside the railway.

My Journey: From Kota Kinabalu to Beaufort by Train

The train finally pulled out of Tanjung Aru at 7:50 AM, and yup, I was travelling backwards. Again. Not ideal, but at least I had a window seat. I was also facing a young local couple with their baby, around Beansie’s age (under a year old), a little reminder of the family I’d just left behind in Thailand.

So, travelling backwards is not ideal for taking photos and enjoying the scenery, but with several stops between Kota Kinabalu and Beaufort, I was hoping there might be an opportunity to switch to a forward-facing window seat before the end of the journey.

The first stop came just eight minutes after leaving Tanjung Aru, at Putatan Station, where my hopes of switching decreased with more passengers getting on than getting off. It looked like I’d be travelling backwards for a while longer.

Weirdly at the same stop the carriage door hadn’t closed, allowing a welcome breeze of fresh tropical air inside. Not quite what you’d expect from an air-conditioned train, but I wasn’t complaining. Then some lad eventually got up and closed the door himself. Apparently, they’re manual. There goes my tropical breeze.

It wasn’t until Kinarut, at 8:11 AM, when I finally managed to swap seats, although I was still travelling backwards, just on the other side of the carriage. At least I was no longer facing anyone, and this window opened making it much easier to take photos.

I could even stick my head out the window, but everyone else was being civilised and I’d look like a tit. So I just occasionally peeped out to see what scenery was coming up ahead.

About halfway my ass did start to hurt, although I’d spent most of the previous two days on buses and flights, so it was probably the cumulative effect. The train seats themselves were actually relatively comfortable.

Open passenger train door overlooking tropical greenery on the Sabah State Railway
A welcome tropical breeze through the open carriage door — until another passenger closed it.
Yellow steel railway bridge framing a muddy river and tropical vegetation along the Sabah State Railway
Crossing a steel railway bridge above a muddy river and tropical greenery.
Passengers and a baby inside an older Sabah State Railway carriage on the journey towards Beaufort
A busy carriage on the final stretch towards Beaufort.

Scenery on the Kota Kinabalu to Beaufort Train

The start of the journey wasn’t overly exciting, with mostly housing, businesses, temples and out-of-town scenery passing by the windows. But it still felt distinctly Malaysian, with tropical trees, green hills and what looked like Mount Kinabalu in the far distance. Rising to 4,095 metres, it’s the highest mountain in Malaysia and the centrepiece of UNESCO-listed Kinabalu Park.

The scenery soon turned greener, with water-filled trenches alongside the tracks, palms and thick mangroves lining the waterways. Lots of green, lots of fields, quite a few birds. It was beginning to feel more like Borneo.

The railway was now following the coastline, with occasional glimpses of the sea through the trees. The seaside scenery was short-lived, though, with the views opening up for only a second or two before disappearing again. We also passed a massive oil refinery along the way.

The scenery does get a bit repetitive after a while, with fields, forests and rural towns passing by, but that’s the same with pretty much any train journey. Only this one was distinctly Malaysian.

I’m fairly familiar with the scenery from previous train travels, including my Singapore to China train journey, which covered Peninsular Malaysia from bottom to top. It’s similar in places, with fields, forests, rural towns and palm groves, only here it feels wilder, greener and more mountainous. And of course, there’s the old-school train experience.

Most of the main passenger routes through Peninsular Malaysia have moved to electric trains, including the Malaysian west-coast line between Johor Bahru and the Thai border. The old East Coast Jungle Railway is a notable exception, still using diesel trains. That made this rattling old Sabah train feel even more like a throwback.

Mangrove-lined waterway and wooden walkway seen from the Sabah State Railway train
A narrow waterway through mangroves beside the railway.
Still muddy water surrounded by dense mangrove trees and exposed roots along the Sabah railway route
Mangrove roots reflected in the calm water.
Sandy coastal flats and a tidal channel leading to the sea viewed from the Sabah State Railway
A brief glimpse of the Sabah coastline from the train.
Wide green rural fields with trees and a small building seen from the Sabah State Railway train
Open fields and rural countryside on the way towards Beaufort.

Arriving at Beaufort Station

We arrived at Beaufort at 9:50 AM, exactly two hours after leaving Tanjung Aru. Then it’s just a straight walk out onto the streets without any ticket checks etc. to worry about.

Outside Beaufort Station was a taxi stand, but with time to spare before check-in I decided to walk to my hotel. Bad idea. Most of the route followed exposed main roads in the heat, with hardly any shade.

With my last-minute planning, I was quite a walk out, while the River Park Hotel, just across the river from the station, might have been a handier option (check Beaufort hotels near the station here).

Along the way I did get to scope out some food options but 90% of the walk was otherwise along main roads. Then I spotted a dead snake on the pavement and I guess I better watch my ass. I really wish I’d taken a Grab and that’s what I plan to do on the early start to Tenom. But right now I need a decent goddam sleep.

I love Beaufort sign in front of Beaufort Railway Station in Sabah Malaysia
The I Love Beaufort sign outside the railway station.
Beaufort mural of traditional food and train beside the station platform
Colourful murals at Beaufort Railway Station.
Muddy river flowing between green hills and Beaufort town under blue skies
A view across the river in Beaufort, Sabah.
Sunny roadside walk in Beaufort Sabah with a narrow pavement, trees on one side and buildings across the road
The long, hot walk from Beaufort Railway Station. A Grab would have been a much better idea.
Nasi ayam chicken rice stall with roast chickens hanging in the window and prices displayed in Beaufort Sabah
A nasi ayam (chicken rice) restaurant I spotted along the way. At least the walk had its food prospects.
Dead brown patterned snake lying on concrete pavement in Beaufort Sabah
A dead snake on the pavement in Beaufort. Better watch my ass.

Things to Do in Beaufort, Sabah

For this journey I had no plans for Beaufort. It was merely a respite between two railway journeys. Plus, I love poking around random places and eating local Malaysian food (our Malaysian food guide here). So that’s pretty much all I did.

I had, however, been to the Beaufort area before, nearly 20 years ago, although it was more in passing on the way to the Klias Wetlands for a river cruise in search of proboscis monkeys and fireflies. This time I was happy just to see what Beaufort itself had to offer.

Visit the Klias Wetlands. The area’s best-known excursion takes you out among mangroves and riverbanks looking for big-nosed proboscis monkeys and other wildlife, followed by fireflies after dark. It’s a much bigger outing than a quick stroll around town, so plan your transport and timing. See Klias river-cruise options on Trip.com.

Explore Weston. This little riverside settlement west of Beaufort is another place to see rural Sabah, with fishing-village life, mangroves and boat trips into the Weston Wetlands. See Weston Wetland trips on Trip.com.

Explore Beaufort town. The old shophouses, local markets and streets around the Padas River make a good place for a wander. There’s no need for a packed sightseeing itinerary: the appeal is in the everyday town life, the little shops and stopping for something to eat. Beaufort is particularly known for Beaufort Mee, its local style of saucy fried noodles.

Take a side trip to Kuala Penyu. If you have more time, the small coastal town of Kuala Penyu is a jumping-off point for Pulau Tiga, an island known for its unusual mud-volcano landscape. It’s a separate excursion rather than something to squeeze into a short railway stopover.

Or head inland towards Tenom. For something more adventurous, the Padas River is known for white-water rafting, with railway access into the interior. For me, though, the next adventure was simply continuing the train journey to Tenom the following morning.

Proboscis monkeys near Beaufort in Sabah Borneo
Big-nosed proboscis monkeys near Beaufort, from my earlier visit to Sabah.
Proboscis monkey among trees in Borneo near Beaufort
Another proboscis monkey spotted around Beaufort on that earlier trip.
Allan during an earlier trip to Borneo
Me in Borneo, back when I was young and not tired.

Leave a Comment

Your email address will not be published. Required fields are marked *