Cheap Flights from Madrid to Porto

Madrid Porto
Any date
Find your flight
🌍 Anywhere
🇪🇸 Spain €18
🇮🇹 Italy €12
🇵🇹 Portugal €18
🇩🇪 Germany €40
🇫🇷 France €19
🇬🇷 Greece €58
🇵🇱 Poland €30
🇹🇷 Turkey €71
← Back Home Deals Porto (51)
Porto — Portugal
Madrid → Porto
🇵🇹 Portugal · 51 flights from €18
25 Aug
07:05
Ryanair · 1h 20m
✈ Direct
€18
14 Jul
18:40
Ryanair · 1h 20m
✈ Direct
€18
26 Aug
04:25
Ryanair · 1h 20m
✈ Direct
€20
€19
11 Aug
18:40
Ryanair · 1h 20m
✈ Direct
€19
19 Aug
04:25
Ryanair · 1h 20m
✈ Direct
€20
15 Jul
04:25
Ryanair · 1h 20m
✈ Direct
€22
€21
2 Sep
04:25
Ryanair · 1h 20m
✈ Direct
€21
16 Aug
04:35
Air Europa · 1h 15m
✈ Direct ↓39% 🔥
€36
€22
HOT
18 Aug
18:40
Ryanair · 1h 20m
✈ Direct
€22
24 Aug
21:30
Ryanair · 1h 20m
✈ Direct
€23
23 Aug
15:40
Ryanair · 1h 20m
✈ Direct
€23
10 Aug
21:30
Ryanair · 1h 20m
✈ Direct ↓59% 🔥
€59
€24
HOT
24 Jun
04:25
Ryanair · 1h 20m
✈ Direct
€24
22 Jul
04:25
Ryanair · 1h 20m
✈ Direct
€24
8 Sep
07:05
Ryanair · 1h 20m
✈ Direct
€24
5 Aug
04:25
Ryanair · 1h 20m
✈ Direct ↓24%
€40
€25
15 Aug
04:35
Air Europa · 1h 15m
✈ Direct
€28
€25
10 Jul
04:35
Air Europa · 1h 15m
✈ Direct
€26
27 Jun
04:35
Air Europa · 1h 15m
✈ Direct
€26
9 Aug
15:40
Ryanair · 1h 20m
✈ Direct ↓31% 🔥
€42
€27
HOT
10 Sep
04:35
Air Europa · 1h 15m
✈ Direct
€28
€27
30 Jul
04:35
Air Europa · 1h 15m
✈ Direct
€29
€28
1 Sep
18:40
Ryanair · 1h 20m
✈ Direct
€29
€28
26 Jun
04:35
Air Europa · 1h 15m
✈ Direct
€28
21 Aug
04:35
Air Europa · 1h 15m
✈ Direct
€28
21 Jul
18:40
Ryanair · 1h 20m
✈ Direct
€28
25 Jun
04:35
Air Europa · 1h 15m
✈ Direct
€28
27 Jul
21:30
Ryanair · 1h 20m
✈ Direct
€28
23 Jul
04:35
Air Europa · 1h 15m
✈ Direct
€28
8 Aug
20:40
Ryanair · 1h 20m
✈ Direct
€29
12 Sep
20:40
Ryanair · 1h 20m
✈ Direct
€30
28 Aug
21:40
Ryanair · 1h 15m
✈ Direct
€30
15 Aug
20:40
Ryanair · 1h 20m
✈ Direct
€31
10 Jul
05:20
Iberia · 1h 20m
✈ Direct
€31
2 Jul
05:20
Iberia · 1h 20m
✈ Direct
€32
6 Jul
06:30
Ryanair · 1h 20m
✈ Direct
€32
20 Jul
21:30
Ryanair · 1h 20m
✈ Direct
€34
€33
16 Aug
06:50
Ryanair · 1h 20m
✈ Direct ↓42% 🔥
€59
€34
HOT
5 Sep
10:00
Ryanair · 1h 20m
✈ Direct
€35
4 Sep
21:40
Ryanair · 1h 15m
✈ Direct
€35
13 Sep
06:50
Ryanair · 1h 20m
✈ Direct
€35
17 Aug
21:30
Ryanair · 1h 20m
✈ Direct
€35
17 Jul
21:40
Ryanair · 1h 15m
✈ Direct
€47
€42
3 Aug
21:30
Ryanair · 1h 20m
✈ Direct
€42
7 Jul
11:15
Ryanair · 1h 20m
✈ Direct
€50
€47
23 Jul
21:30
Ryanair · 1h 20m
✈ Direct
€48
16 Jul
04:35
Air Europa · 1h 15m
✈ Direct
€54
6 Sep
06:50
Ryanair · 1h 20m
✈ Direct
€60
14 Aug
21:40
Ryanair · 1h 15m
✈ Direct
€60
23 Jun
17:25
Ryanair · 1h 20m
✈ Direct
€61
7 Aug
21:40
Ryanair · 1h 15m
✈ Direct
€62
With a stop
23 Jun
19:05
MAD → IBZ → OPO
Ryanair + Ryanair · 0d 16h stopover in Ibiza
€45
2 flights
☕ 16h in Ibiza — enough time to explore
18 Jul
06:30
MAD → OVD → OPO
Air Europa + Volotea · 1d 1h stopover in Ranón
€50
2 flights
☕ 25h in Ranón — enough time to explore
30 Jun
18:35
MAD → ROM → OPO
W4 + W4 · 7h layover in Rome
€51
2 flights
30 Jun
21:05
MAD → FAO → OPO
Ryanair + Ryanair · 0d 21h stopover in Faro
€51
2 flights
☕ 21h in Faro — enough time to explore
4 Jul
06:30
MAD → OVD → OPO
Air Europa + Volotea · 1d 1h stopover in Ranón
€56
2 flights
☕ 25h in Ranón — enough time to explore
23 Jun
10:50
MAD → MIL → OPO
MW + Ryanair · 7h layover in Milan
€59
2 flights
14 Jul
18:35
MAD → ROM → OPO
W4 + W4 · 7h layover in Rome
€64
2 flights
25 Jun
05:25
MAD → ALC → OPO
Iberia + Ryanair · 5h layover in Alicante
€65
2 flights