Currently there are no direct flights Marrakech to Canada

Flights Marrakech to Canada with 1 stopover:

Flights via London Gatwick (LGW), United Kingdom
From Marrakech (RAK), Morocco with British Airways Transfer at London Gatwick (LGW), United Kingdom Then on to Calgary (YYC),Canada with British Airways
OR
Then on to Montreal Pierre Elliott Trudeau (YUL), Canada with British Airways
OR
Then on to Vancouver International (YVR), Canada with British Airways
Flights via Amsterdam (AMS), Netherlands
From Marrakech (RAK), Morocco with KLM Transfer at Amsterdam (AMS), Netherlands Then on to Calgary (YYC),Canada with KLM
OR
Then on to Montreal Pierre Elliott Trudeau (YUL), Canada with KLM
OR
Then on to Toronto Pearson International (YYZ),Canada with KLM
OR
Then on to Vancouver International (YVR), Canada with KLM
Flights via Zurich (ZRH), Switzerland
From Marrakech (RAK), Morocco with Swiss Transfer at Zurich (ZRH), Switzerland Then on to Montreal Pierre Elliott Trudeau (YUL), Canada with Swiss
OR
Then on to Toronto Pearson International (YYZ), Canada with  Swiss
Flights via Brussels International (BRU), Belgium
From Marrakech (RAK), Morocco with Brussels Airlines Transfer at Brussels International (BRU), Belgium Then on to Montreal Pierre Elliott Trudeau (YUL), Canada with Brussels Airlines
Flights via London Heathrow (LHR), United Kingdom
From Marrakech (RAK), Morocco with British Airways Transfer at London Heathrow (LHR), United Kingdom Then on to Toronto Pearson International (YYZ), Canada with British Airways
OR
Then on to Vancouver International (YVR), Canada with British Airways
Flights via Lisbon (LIS), Portugal
From Marrakech (RAK), Morocco with TAP Transfer at Lisbon (LIS), Portugal Then on to Toronto Pearson International (YYZ), Canada with TAP