AirAsia shows RM142 one-way from Kuala Lumpur to Kota Kinabalu. Firefly shows RM147. Five ringgit apart, and every comparison site puts AirAsia first.
Add one 20kg suitcase and AirAsia becomes RM301. Firefly stays at RM147, because the bag is already in the fare.
That reversal is what this guide is about. We call it the Baggage Flip: the point at which a low-cost headline fare plus a checked bag overtakes a full-service fare that includes the bag. On KL to Borneo routes it fires at almost every price point, because almost nobody flies to Sabah or Sarawak with hand luggage only. It is a two-and-a-half-hour flight to another part of the same country, usually for five days or more, often with a return load of Sabah tea, Bario rice or a tamu-market haul.
So the fare you compare and the fare you pay are different numbers, and they rank the four airlines in opposite orders.
1. Who actually flies KL to Kota Kinabalu and Kuching
Four carriers fly KUL to BKI direct: AirAsia, Batik Air, Firefly and Malaysia Airlines. All four appear on the aggregator listings, which is unusual for a Malaysian domestic route and the reason the fare spread is as wide as it is.
What each one gives you before any add-ons:
| Airline | Checked baggage included | Cabin allowance | Cheapest KUL-BKI one-way found |
|---|---|---|---|
| AirAsia | None | 7kg | RM142 |
| Firefly | 20kg | Standard | RM147 |
| Malaysia Airlines | 20kg (Economy Value) | Standard | RM161 |
| Batik Air | 15kg (Economy Value), 0kg (Super Saver) | Standard | RM257 |
Fares from cheapflights.com.my, fare data updated 5 September 2026, retrieved 11 October 2026.
Firefly is the one most KL travellers forget exists. It is a Malaysia Airlines subsidiary flying Boeing 737s on this route, and it bundles 20kg of checked baggage into every domestic and regional fare, with no fare-family downgrade that strips it out. That single line in its conditions of carriage drives most of the arithmetic below.
2. The Baggage Flip, in numbers
Here are the same four airlines priced twice: once for hand luggage only, once with one 20kg suitcase bought at the time of booking.
| Rank | Cabin only | With 20kg checked | ||
|---|---|---|---|---|
| 1 | AirAsia | RM142 | Firefly | RM147 |
| 2 | Firefly | RM147 | Malaysia Airlines | RM161 |
| 3 | Malaysia Airlines | RM161 | Batik Air | RM257 |
| 4 | Batik Air | RM257 | AirAsia | RM301 |
AirAsia goes from first to last. It leads the headline by RM5 and trails the all-in by RM154 against Firefly, RM140 against Malaysia Airlines.
One number does all of that: RM159, AirAsia’s fee for 20kg on a domestic sector bought at the point of booking. It is larger than the entire Firefly fare it is competing against.
Which gives the flip a clean threshold. For AirAsia to win a 20kg trip, its base fare has to come in at least RM159 below the included-bag fare. Return, with a bag each way, that becomes RM318 of required undercut.
| Competing fare (bag included) | AirAsia base fare needed to match | Verdict |
|---|---|---|
| Firefly RM147 | minus RM12 | Impossible |
| Malaysia Airlines RM161 | RM2 | Not seen on this route |
Against Firefly the required fare is below zero, because the bag fee alone exceeds the whole Firefly ticket by RM12. Against Malaysia Airlines, AirAsia would need a RM2 base fare.
The flip only fires when there is a bag, though, and without one AirAsia’s lead is real. Doubled for a return trip at these fares:
| Trip shape | AirAsia | Firefly | Winner |
|---|---|---|---|
| Cabin only, return | RM284 | RM294 | AirAsia by RM10 |
| 20kg checked, return | RM602 | RM294 | Firefly by RM308 |
RM10 against RM308. The saving when AirAsia wins is small and the penalty when it loses is not, and that asymmetry is the whole decision. Anyone unsure whether they will check a bag should default to the included-bag carrier rather than gamble on packing light.
One constraint on the cabin-only route: 7kg is enforced, and AirAsia charges RM55 per kilogram over it, capped at 3kg of overage. Three kilos over puts you at RM165 for a 10kg cabin bag, more than the RM159 you would have paid for 20kg in the hold. Weigh the bag at home.
3. What an AirAsia bag costs depends on when you buy it
If you do fly AirAsia with luggage, the fee moves with the purchase point.
| When you buy 20kg | Fee | All-in from the RM142 fare |
|---|---|---|
| At the time of booking | RM159 | RM301 |
| Added later via Manage Booking | RM175 | RM317 |
| Kiosk or airport counter | RM110 (unverified) | RM252 |
| At the gate, per piece | RM48 | Penalty, not an allowance |
Buying at booking rather than adding later saves RM16, a 10 percent difference on the fee.
The RM110 airport-counter figure needs a warning rather than a recommendation. It comes from a third-party baggage reference, not from airasia.com, and it runs backwards to how airlines normally price add-ons, which is to make the airport the dearest place to buy. Treat it as unconfirmed, and do not plan a trip around turning up at the counter expecting to pay less.
The RM48 gate figure is also not a cheap route to a checked bag. It is a per-piece charge applied when cabin baggage fails the sizer at the gate, and it moves one bag into the hold on that sector, not a 20kg allowance.
Two other add-ons sit on the same screen. Xpress Baggage at RM135 buys priority delivery at the belt rather than allowance, which is worth knowing before adding it to a budget fare. Excess checked baggage runs at RM35 per kilogram, and RM159 divided by RM35 is 4.54kg, so paying by the kilo only beats buying the allowance below roughly five kilos of overage.
4. Sarawak: KL to Kuching runs on a different calendar
Kuching behaves differently from Kota Kinabalu, because the Sarawak fare curve is shaped more sharply by public holidays.
AirAsia’s own site showed RM248 one-way for 12, 15 and 21 October and 4 November 2026, dates that bracket the Deepavali period. The aggregator floor for the same route, undated, was RM181. That is a RM67 peak premium, 37 percent above the floor, on a flight that is otherwise unchanged.
Stack the bag on top and the proportions become uncomfortable:
| KUL-KCH fare | Plus 20kg at booking | Bag as share of total |
|---|---|---|
| RM181 aggregator floor | RM340 | 47% |
| RM248 Deepavali dates | RM407 | 39% |
A return over Deepavali with a bag each way is RM814. The bag adds 88 percent to the floor fare and 64 percent to the Deepavali fare. No other single add-on on a Malaysian domestic trip carries that much of the total.
Kuching also turns up somewhere unexpected: it is the cheapest stopover city for KUL to BKI, at around RM408 return. That sits above several of the direct returns, so it is worth doing only if you want to see Kuching, but it does mean a two-stop Borneo trip can be priced as one routing rather than two bookings.
For the Kuching to Kota Kinabalu leg, the booking window matters more than the carrier. Kayak puts the cheapest point at 26 weeks before departure, roughly six months out, with bookings inside two weeks running about 45 percent above average. If both states are in the plan, the inter-Borneo hop is the sector to lock in early.
5. Why the fare you are quoted depends on where you look
Three sources, one route, and a spread that should make anyone cautious about a single quote.
| Source | KUL-BKI cheapest one-way | KUL-BKI cheapest return |
|---|---|---|
| cheapflights.com.my | RM142 | not stated |
| skyscanner | RM188 | RM365 |
| kayak.com.my | RM315 (last 5 days) | RM535 |
Kayak’s cheapest return is RM170 above skyscanner’s, 47 percent higher, on the same city pair in the same week. Kayak also publishes a typical one-way band of RM221 to RM356, well above what cheapflights reports as available.
None of these is wrong. They sample different inventory over different windows, and a figure labelled “cheapest in the last five days” is a historical observation rather than a bookable fare. The averages say the same thing from the other end: AirAsia’s average KUL-BKI one-way is RM391, and Batik Air’s is RM483 against its RM257 cheapest. On this route the cheapest fare and the usual fare are far apart.
What follows is a method rather than a number. Check two aggregators, then price the winner on the airline’s own site, because that is where the baggage fee appears and where date premiums show up honestly.
6. Going above 20kg, and the fare families that decide it
If you are moving more than one suitcase, the comparison shifts to Malaysia Airlines, whose 2026 domestic fare families scale the allowance rather than charging per kilo.
| Airline and fare | Checked allowance |
|---|---|
| Batik Air Business Flexi | 40kg |
| Malaysia Airlines Economy Flex | 35kg |
| Batik Air Business Promo | 30kg |
| Malaysia Airlines Economy Basic | 25kg |
| Batik Air Economy Flexi | 25kg |
| Malaysia Airlines Economy Value | 20kg |
| Batik Air Economy Value | 15kg |
| Batik Air Super Saver | 0kg |
One caveat on the Malaysia Airlines list. Several sources describe a cabin-only Economy Lite at 10kg alongside the families above. We could not reconcile that against the Value, Basic and Flex structure the airline’s own 2026 material sets out, so both versions are reported here and neither should be relied on without checking the fare rules on the booking screen. If you book expecting 20kg, confirm the fare family name before paying.
Batik Air’s Super Saver deserves a specific flag. At 0kg checked it has the same structure as an AirAsia fare but starts from RM257, which makes it the worst of both models here. Batik Air becomes competitive at Economy Value and above, and only if 15kg is genuinely enough.
Anyone on these routes often enough to be weighing a season’s worth of flights should check whether a pass changes the maths. Malaysia Airlines sells East Malaysia access through its zone structure, and we have run the break-even arithmetic separately in MHflypass explained and tested it against domestic fares specifically in is MHflypass worth it on domestic routes. The short version for Borneo flyers: the fares above are exactly the ones that make a domestic pass hard to justify, so read the pass maths before buying one. For the broader question of passes against trip-by-trip booking, flight passes versus booking individually sets the two side by side in ringgit.
7. Frequently asked questions
Does AirAsia include any checked baggage on domestic flights to Sabah or Sarawak?
No. AirAsia domestic fares include a 7kg cabin allowance and nothing in the hold. The first 20kg costs RM159 when added at booking and RM175 when added afterwards through Manage Booking.
Which airline is cheapest from KL to Kota Kinabalu if I have one suitcase?
Firefly, at RM147 all-in on the fares in this survey, because 20kg of checked baggage is complimentary on its domestic and regional fares. Malaysia Airlines is second at RM161 with 20kg in Economy Value.
Is Firefly the same airline as Malaysia Airlines?
Firefly is a subsidiary operating as a separate brand, with its own booking site and its own baggage conditions. Enrich points and Malaysia Airlines fare families do not carry across automatically, so check the terms on whichever site you book.
How far in advance should I book a Kuching to Kota Kinabalu flight?
Around 26 weeks, roughly six months before departure, is the cheapest point in Kayak’s data for that sector. Booking inside two weeks runs about 45 percent above average.
Can I bring a bag to the gate and pay there instead of buying an allowance?
The RM48 gate charge applies per piece when cabin baggage fails the gate sizer, and it moves that single bag into the hold for that sector only. At RM48 per piece per sector it is not a cheaper substitute for the 20kg allowance on a return trip with any real luggage.
Do flights from KL to Borneo count as domestic for baggage and tax?
Yes. Sabah and Sarawak are Malaysian states, so KUL to BKI and KUL to KCH are domestic sectors, priced with domestic baggage rules and domestic passenger service charges rather than international ones.
Is it cheaper to fly into Kuching and connect to Kota Kinabalu?
Kuching is the cheapest stopover city for a KUL to BKI routing in Kayak’s data, at around RM408 return, but that is above several of the direct returns found here. Routing through Kuching makes sense if you want time there, not as a way of reaching Kota Kinabalu for less.
What to do with this
If you are checking a bag, book Firefly or Malaysia Airlines and ignore the headline comparison. If you are travelling with hand luggage only, AirAsia saves about RM10 on a return trip, and the 7kg limit is enforced. For Kuching, avoid the Deepavali window if the dates are flexible. For an inter-Borneo hop, book around six months out.
And whatever the aggregator shows, price the winner on the airline’s own site before you commit. The bag fee is where this route is decided, and the bag fee only appears there.