← Back to the flight-booking guide

Berlin to Madrid: five booking sites tested

We ran the exact same search on Google Flights, Skyscanner, Kayak, Momondo and Kiwi.com using the same dates and currency. The tools came out close, and the cheapest fare goes somewhere unexpected. Here's what we found.

🛫 Route🇩🇪 Berlin (BER) → 🇪🇸 Madrid (MAD)
📅 TripReturn · 8 → 22 Sep 2026
🔎 Search1 adult · economy · EUR
🌍 Prices inEuros, no loyalty accounts
🏆 What the test showed

The tools came out close. On the Iberia nonstop, Skyscanner was cheapest at €588, with Google just behind at €601 and Kayak up at €687. On the Lufthansa 1-stop through Munich, Google edged it (€209 against €223 to €239). There's no cheap nonstop from Berlin any more, so the real choice is a bare €106 self-transfer routed backwards through London or the sane Lufthansa connection through Munich around €209 to €239. Kiwi.com, a reseller, showed the same flights priced a little higher, so it's last. The honest read: use whichever comparison site you like, just not a reseller. Prices change constantly, so treat this as a snapshot.

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.

Rank Tool Cheapest direct Cheapest protected connection Cheapest self-transfer
1 Google Flights
Comparison site
€601 Iberia · nonstop 3h 10m €209 Lufthansa · 1 stop · Munich 4h 45m €106 Ryanair · via London Stansted ⚠ up to ~6h 40m
2 Skyscanner
Comparison site
€588 Iberia · nonstop 3h 10m €223 Lufthansa · 1 stop · Munich 4h 45m €131 Ryanair · via London Stansted ⚠ up to ~6h 40m
3 Kayak
Comparison site
€687 Iberia · nonstop 3h 10m €239 Lufthansa · 1 stop · Munich 4h 45m €130 Ryanair · via London Stansted ⚠ up to ~6h 40m
4 Momondo
Comparison site
€687 Iberia · nonstop 3h 10m €239 Lufthansa · 1 stop · Munich 4h 45m €130 Ryanair · via London Stansted ⚠ up to ~6h 40m
5 Kiwi.com
Reseller
€636 Iberia · nonstop 3h 10m €233 Lufthansa · 1 stop · Munich 4h 45m €147 Ryanair · via London + Milan ⚠ up to ~20h
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.

How close it was: for the same flights, the tools were within a small margin of each other. The Iberia nonstop ran €588 (Skyscanner), €601 (Google), €636 (Kiwi) and €687 (Kayak/Momondo); the Lufthansa 1-stop through Munich was €209 to €239 everywhere. Nobody had a secret fare the others couldn't see. So which comparison site you use barely matters here; what matters is which flight you pick.

A cheap fare isn't always the better deal. When we searched again the prices held, but a self-transfer can strand you: the €106 fare is two separate tickets, so if the first leg is late and you miss the second, that's on you, not the airline. The tools label these "self-transfer" for a reason. On a route where a protected connection is only about €100 more, the cheap headline isn't worth the risk for most people.

Kayak and Momondo are owned by the same company and returned identical fares; we list both because people search for each. Kiwi.com showed the same flights as everyone else, the Iberia nonstop (€636), the Munich 1-stop and the London self-transfer, but it's a reseller: you pay Kiwi rather than the airline, and it priced each option a little higher, so it's ranked last. Prices are live and drift by the hour, so read the pattern, not the exact euro.

1

There is no cheap nonstop from Berlin.

Berlin lost its network hub, so no low-cost airline flies Berlin to Madrid nonstop on these dates. The only nonstop is Iberia, and it's expensive: €588 to €687 across the tools (Skyscanner cheapest at €588, then Google €601). Everything cheaper has a stop. That's the opposite of most short-haul routes, where a budget nonstop is the obvious pick.
2

The cheapest fare flies you backwards through London.

The rock-bottom €106 fare is a self-transfer: a Ryanair ticket to Madrid that routes through London Stansted, which is the wrong direction entirely, on two separate tickets you connect yourself. It takes nearly 7 hours. The sane middle option is a full-service Lufthansa 1-stop through Munich at around €209 to €239: protected, faster, and it actually points at Spain.
Pay €106
  • Two separate Ryanair tickets, self-connected
  • Routed via London Stansted, the wrong way
  • Nearly 7 hours, a missed leg is on you
vs
Pay €209
  • One protected Lufthansa ticket
  • 4h 45m, one stop in Munich
  • The airline owns the connection
3

The tools were close, so pick whichever you like.

No dramatic winner here. On the Iberia nonstop, Skyscanner was cheapest (€588) and Google just behind (€601); on the Lufthansa 1-stop, Google edged it (€209 vs €223 to €239); on the self-transfer, Google again (€106). The gaps are small enough that any of the comparison sites is a fine choice. Kiwi.com, the reseller, showed the very same flights (Iberia nonstop €636, the Munich 1-stop, the London self-transfer) but priced each a little higher, so it's ranked last. The takeaway: use whichever comparison site you prefer, just not a reseller.
🧳 The €106 fare is barely a fare

That rock-bottom self-transfer is a bare Ryanair ticket: a cabin bag and nothing else. A checked bag is €25 to €45 each way, a seat is extra, and because it's two separate tickets you pay Ryanair's bag fee on each leg. Add a bag both ways and the €106 quickly becomes €180 or more.

The full-service Lufthansa connection at €194 already includes a checked bag and a seat, so once you add luggage to the budget fare the gap between them nearly closes, and the Lufthansa ticket is protected and half the travel time. Add your bags on every option before you compare, not after.

How we'd book a route like this
  1. 1
    Open Google Flights and Skyscanner. On this route they were close, so either sets a fair number to beat.
  2. 2
    Read the routing before the price: a "cheap" fare that goes via London the wrong way, on two tickets, isn't the deal it looks like.
  3. 3
    For most trips, take the protected Lufthansa connection and book it direct. Only chase the self-transfer if the saving is big and you travel light.
How we tested. One route, one sitting, on 7 Jul 2026. Berlin (BER) to Madrid (MAD), return 8 → 22 Sep 2026, 1 adult in economy, currency set to EUR on every tool. We ran all five searches within about 15 minutes of each other to keep the comparison fair, and noted the cheapest fare each tool showed in each category. Bag rules come from the airlines' own published fare conditions. This is one snapshot; prices change constantly, so treat the figures as a point-in-time reading.