Marrakech é o terminal sul da principal ferrovia de passageiros de Marrocos, dando à cidade um papel importante no final da rede da ONCF. A cidade tem uma principal estação ferroviária, a Estação Ferroviária de Marrakech, que assegura comboios de longa distância a partir de Marrakech e comboios para Marrakech na linha principal convencional para norte.
A ONCF opera serviços interurbanos entre Marrakech e importantes centros ferroviários marroquinos, incluindo Casablanca, Rabat, Fes, Meknes e Tânger, com transbordos quando necessário. Marrakech não fica na linha de alta velocidade Al Boraq, que opera no norte de Marrocos, pelo que os passageiros utilizam os serviços convencionais ONCF Al Atlas e interurbanos para o corredor de Marrakech.
As rotas ferroviárias a partir de Marrakech seguem para norte em direção a Casablanca e ao eixo do Atlântico, continuando depois para Rabat, Kenitra, Tânger, Meknes e Fes através das ligações da ONCF. A estação ferroviária também funciona como ponto de acesso ferroviário para passageiros que continuam por estrada para zonas além da atual rede ferroviária nacional. Reserve comboios de e para Marrakech online na Rail Monsters.