← Back to the flight-booking guide

Amsterdam to Bali: five booking sites tested

We ran the exact same search on Google Flights, Skyscanner, Kayak and Kiwi.com using the same dates, currency and location. Here's what we found.

🛫 Route🇳🇱 Amsterdam → 🇮🇩 Bali
📅 TripReturn · 8 → 22 Sep 2026
🔎 Search1 adult · economy · EUR
🌍 Searched fromNetherlands, no VPN
🏆 What the test showed

Kayak (and Momondo, its identical twin) came out on top, with both the cheapest protected ticket (€803) and the cheapest self-transfer (€721). Skyscanner was a whisker behind. Google Flights was the easiest to compare but the most expensive. Kiwi.com is essentially a reseller, and here it only found cheap self-transfers on brutal 50-hour routings, so we've ranked it last. Prices change constantly, so treat this as a snapshot, not a permanent ranking.

Booking sites compared

Ranked by the cheapest protected connection, the safest fare to book. The badge under each tool shows how you book with it. Every term is explained under the table.

No airline flies this route non-stop, so every option below connects at least once.

Rank Tool Cheapest protected connection Cheapest self-transfer
1 Kayak
Comparison site
€803 Xiamen Air · 1 stop 19h 25m €721 XiamenAir + return mix ⚠ up to 36h 10m
2 Momondo
Comparison site
€803 Xiamen Air · 1 stop 19h 25m €721 XiamenAir + return mix ⚠ up to 36h 10m
3 Skyscanner
Comparison site
€806 Xiamen Air · 1 stop 19h 25m €734 Batik Air Malaysia + Etihad ⚠ up to 36h 25m
4 Google Flights
Comparison site
€853 Xiamen Air · 1 stop 19h 25m €848 Etihad + TransNusa · 2 stops ⚠ 29h 50m
5 Kiwi.com
Reseller
Only self-transfers were cheap here €830 XiamenAir + 3-stop return ⚠ up to ~52h round trip
Protected connection

All legs on one ticket, so the airline rebooks you free if a connection is missed. The safest fare to book.

Self-transfer

Separate tickets you stitch together (the tool's own label, not ours). Often cheaper, but a missed leg is on you unless a guarantee covers it.

Comparison vs reseller

A comparison site shows the fares and sends you to the airline or an agency to pay. A reseller like Kiwi.com takes your payment itself and adds its own fees, so it usually costs a little more.

Why the prices differ: they all list third-party agencies (you'll spot Trip.com and Kiwi in Google's own booking options too), so it isn't about who shows agencies. The difference is in the fares they build. Skyscanner and Kayak surface more of the cheap self-transfer and mixed-airline deals, so they found lower prices; Google shows fewer of them, so its cheapest was higher. Skyscanner also has the widest low-cost-carrier coverage.

A cheaper agency price isn't always the better deal. When we searched again the prices held, but a third party can still raise the fare, or even cancel it, before you've paid. Some show the price without a checked bag, or add a surcharge for certain payment methods, so the number you click isn't always the number you pay. On Skyscanner you can see each agency's rating: if it's low, it's often worth a few euro more for a better-rated one, or better still, booking straight with the airline.

Kayak and Momondo are owned by the same company and returned the same fares; we list both because people search for each. Kiwi.com is essentially a third-party reseller. On this route its cheap fares were all self-transfers on very long routings, so its protected column shows a dash; it does offer an optional guarantee that rebooks or refunds you if a connection breaks. Prices are live and drift by the hour, so read the pattern, not the exact euro.

1

The cheapest fares were all self-transfers.

The thing that stood out to us: on every single tool, the cheapest option was a self-transfer, not a normal ticket. Kayak was lowest at €721, Skyscanner close behind at €734, and both sites flagged them as self-transfers. Google Flights didn't show fares that cheap here, because it doesn't list many of the third-party deals the others do.
2

Is the €80 saving worth it?

This is the trade-off that matters. The cheapest self-transfer saves about €80 over the protected XiamenAir ticket. But you pay for it in time and risk: the return leg stretches to around 36 hours on two separate tickets, and if the first flight runs late, no one has to rebook you. On this route, we don't think €80 is worth it.
Pay €721
  • Two separate tickets
  • ~36-hour return
  • Missed connection is your problem
vs
Pay €803
  • One ticket, one airline
  • 19h 25m each way
  • Airline owns the connection
3

Google Flights was the easiest to read.

Here's the surprise: the easiest tool to use was also the most expensive. On the exact same XiamenAir flight, the other sites were about €50 cheaper (€803 to €806 vs €853), because they show a travel agency reselling the same seat. That saving means booking through a third party, which is harder to sort out if something goes wrong. Google lists those same agencies too, but it puts the airline's own price right alongside them, so booking direct is one click away if you'd rather not go through a reseller.
🧳 Don't forget the checked bag

The cheapest fare is often a stripped "Light" or "Basic" ticket with only a cabin bag and no checked luggage. It's easy to assume this only applies to low-cost airlines, but it doesn't. Even XiamenAir, the cheapest one here, sells a Light fare with no free checked bag; its normal economy includes a 23kg bag, the Light fare includes none.

Adding a checked bag to a long-haul ticket costs roughly €30 to €70 each way, sometimes more. On an €800 fare, a €120 round-trip bag fee can flip the whole ranking. Add your bag before you compare prices, and check what the cheap fare actually includes.

How we'd book a route like this
  1. 1
    Start on Google Flights to see the options clearly and watch the price.
  2. 2
    Check Skyscanner or Kayak to see if the exact same flight is cheaper elsewhere.
  3. 3
    Book direct with the airline unless the saving is large. A few euro is worth keeping the airline on the hook if something changes.
How we tested. One route, one sitting, on 6 Jul 2026. Amsterdam (AMS) to Denpasar (DPS), return 8 → 22 Sep 2026, 1 adult in economy, currency set to EUR on every tool, searched from a Netherlands connection with no VPN. We ran all four searches within about 15 minutes of each other to keep the comparison as fair as possible, and noted the cheapest fare each tool showed in each category. Checked-bag rules come from the airlines' own published fare conditions, since baggage is set by the fare, not the search. This is one snapshot; we'll run more routes and re-check from a home connection before drawing firm conclusions. Flight prices change constantly, so treat the figures as a point-in-time reading.