REVIEW | KPB Express from Kuala Lumpur to Ipoh (Amanjaya Terminal)


Intercity bus travel is a bit of a hit or miss thing in Malaysia.  While buses are generally on time, clean, and comfortable, these factors are entirely dependent on the performance of the respective operators.  Yet in many respects, bus travel has quite some amount of advantages over intercity rail: A higher frequency of departures, a bigger variety of destinations, and a cheaper price of tickets, making intercity buses a highly affordable and accessible option to many Malaysians.

Unfortunately as I was to find out, things can go south very easily.

First posted 4 June 2019.  Updated 12 March 2023.

Buying my tickets

I’d signed up for an event in Ipoh, which is the state capital of Perak state and 3 hours north of Kuala Lumpur.  As it was the start of the Hari Raya Aidilfitri week the travel exodus had already begun, and as such the train tickets had already sold out a week ago.  With my first choice of transport gone, I was left to rely on the bus.  Scrolling down Easybook, I made the decision that the 10am departure from TBS, operated by KPB Express, was my best bet.  As I was later to discover, KPB is one of the lesser known operators, which should have warranted extra caution on my part.

Departure experience from Terminal Bersepadu Selatan

Intercity buses to and from KL make use of the Terminal Bersepadu Selatan, or “TBS” as its known locally.  It is perhaps the largest bus terminal in Malaysia, and its design resembles an airport terminal more than a traditional bus station.  From afar it is a massive, modern looking structure, although to be quite fair the integrated multi-storey parking does add to the height;  Arrivals and departures are handled by separate levels, access to the departure level is controlled by entry gates featuring QR code scanners, and the central focal point is the departure lobby that handles ticket sales/collection.  This lobby’s high ceiling is what gives the complex its “airport-like” impression.  As an added bonus, the complex is connected to the city’s Ampang/Sri Petaling LRT line, a commuter rail line, and the airport rail service.

I timed my arrival to give me the minimum 30 minutes waiting time, which would allow me to collect my boarding passes – a requirement for tickets not booked directly through TBS’s online portal, and head down to the departure area immediately without too long of a wait.  The start of the Aidilfitri exodus meant the terminal was extremely busy.

Bus delayed

Up until this point, my bus was still listed as being on time on the departure boards.  However 10am came and went with no sight of my bus, all while the other buses sharing the same gate arrived and departed with their passengers, and the onscreen status changed into a nice red “Delayed”.  I was expecting some amount of Raya related delay, since the balik kampung exodus was bound to clog up the highways.  I also reassured myself with the possibility that traffic was the simple explanation for the delay, and that my bus was perhaps still on its way from Johor Bahru to TBS.  My attempt to enquire with the gate agent on the status of my bus ended up futile, with “belum lagi” (it’s not here yet) being the answer I received.  Clearly the agent was in the dark like most of us.

One long hour later we finally received an update: The bus had developed technical problems, or in common parlance, rosak.  This was preventing it from even showing up at the gate.  The 1 hour delay was already straining the extra time I buffered in for myself to allow me to make it to my final destination on time, and I decided to press the gate agent for more updates.  Again, I did not receive any elaboration, save for the promise that an update would be given within 15 minutes.  This was clearly not an ideal situation, and I was getting apprehensive that I would be stranded at TBS for longer than I bargained for: A quick check revealed all the buses within the next few hours were already sold out.  With that in mind, and with the help of some very helpful fellow event-goers, I started making contingency travel plans.

They were fortunately not needed, as some 25 minutes after the first hour of delay, my KPB Express bus finally pulled into the bay.  A quick ticket scan and depositing of my luggage later I was climbing onboard the bus.

1 hour and 50 minutes after the original departure time, the bus finally pulled out of its bay and exited TBS.  Traffic on the roadways out of KL were heavy for a Saturday, but nothing too crippling.  Within an hour, the bus had already reached Ulu Selangor by the Perak border.  Not that I remember much of it though, as I took the opportunity for some rest.  Turns out bus rides are quite conducive for naps.

Cabin & Onboard Amenities

The interior appeared clean and well kept.  Like most Malaysian buses, the ceiling and panels were covered in a blue soft carpet-like material with colourful swirly patterns.  The windows also had curtains installed to allow passengers to shield themselves from the sun should they wish to.

Seats were laid out in a 1-2 configuration, which gave them the appearance of comfortable 1980s business class seats on airplanes.  This made them wide and comfortable enough for long distance journeys.  A slight minus point was that the seat in front of my pre-selected one was broken and stuck in a maximum recline, which was no big deal as I simply claimed the window seat next to it.  The onboard staff however was aware of this and offered other passengers affected by the malfunction alternative seating options.

While traffic was relatively smooth out of Selangor, it got heavier in southern Perak, and we were soon crawling on some heavier spots at Chenderiang and Tapah.  This added on to the travel time and further delayed my arrival at Ipoh.  It also rained heavily at various spots, and I was relieved I wasn’t driving instead.

Arrival at Ipoh Amanjaya Terminal

Some 6 hours after the original departure time, and close to 3 hours after the initial scheduled arrival time, the bus finally pulled into Amanjaya Terminal.  At that point I was simply too relieved to complain about anything else, and hopped off the bus with my bags without much grumbling.

Amanjaya is Ipoh’s main bus terminal, featuring a high roof and modern architecture.  Yet despite this, the waiting area for passengers is small and somewhat cramped, the concourse has its space blocked by stalls and ticketing counters, and oddly enough, the interior looked slightly dingy despite the skylights in the ceiling.  There was also the slight problem that the terminal was rather far from the city itself, requiring me to hail a Grab for the last mile connection.

Final thoughts

I opted for a convenient timing with the bus and got more than I bargained for.  In hindsight, I probably should have taken the 08:00 am bus instead if i wanted to be really safe.

Other than that snag, KPB Express got me where I needed to be on this journey, although given my experience with them this time around, I’ll probably be sticking with more well known and reliable operators in the future.







3 responses to “REVIEW | KPB Express from Kuala Lumpur to Ipoh (Amanjaya Terminal)”

  1. […] my previous experience departing from TBS, my bus to Kluang was delightfully on […]

  2. […] Ipoh and KL for daytrips, especially since the station is right next to the town centre unlike the Amanjaya bus terminal.   Despite it flaws the service performs its basic function well.  But as I’ve said before, […]

  3. […] Despite several stops for signal clearance on the single track segment (thanks to the track upgrade works being done in the Klang Valley), the train pulled into KL Sentral station bang on time at 1815.  It had been an adequately comfortable journey from Ipoh and I felt well rested after the nap I had.  The punctual performance was also very well appreciated after the eventful day before. […]

Leave a Reply