Direct flights Marrakech to Portugal:

Marrakech to Lisbon

Marrakech to Madeira

Flights Marrakech to Portugal with 1 stopover:

Flights via Madrid (MAD), Spain
From Marrakech (RAK), Morocco with Iberia Transfer at Madrid (MAD), Spain Then on to Lisbon (LIS), Portugal with Iberia
OR
Then on to Porto (OPO), Potrugal with Iberia
Flights via Zurich (ZRH), Switzerland
From Marrakech (RAK), Morocco with Swiss Transfer at Zurich (ZRH), Switzerland Then on to Lisbon (LIS), Portugal with Swiss
OR
Then on to Porto (OPO), Potrugal with Swiss
Flights via  London Gatwick (LGW), United Kingdom
From Marrakech (RAK), Morocco with British Airways Transfer at London Gatwick (LGW), United Kingdom Then on to Lisbon (LIS), Portugal with British Airways
OR
Then on to Faro (FAO), Portugal with British Airlines
Flights via Barcelona (BCN), Spain
From Marrakech (RAK), Morocco with Vueling Airlines Transfer at Barcelona (BCN), Spain Then on to Lisbon (LIS), Portugal with Vueling Airlines
Flights via Lisbon (LIS), Portugal
From Marrakech (RAK), Morocco with Transfer at Lisbon (LIS), Portugal Then on to Faro (FAO), Portugal with TAP
OR
Then on to Horta (HOR), Portugal with TAP
OR
Then on to Madeira (FNC), Portugal with TAP
OR
Then on to Ponta Delgada (PDL), Portugal with TAP
OR
Then on to Porto (OPO), Potrugal with TAP
OR
Then on to  Porto Santo (PXO), Portugal with TAP
OR
Then on to Terceira Lajes (TER), Portugal with TAP