Marrakech è il capolinea meridionale della principale ferrovia passeggeri del Marocco, conferendo alla città un ruolo importante alla fine della rete ONCF. La città ha una stazione ferroviaria principale, Marrakech Railway Station, che gestisce i treni a lunga percorrenza da Marrakech e i treni per Marrakech sulla linea principale convenzionale diretta a nord.
ONCF opera servizi intercity tra Marrakech e i principali nodi ferroviari marocchini, tra cui Casablanca, Rabat, Fes, Meknes e Tangeri, con eventuali cambi dove necessario. Marrakech non si trova sulla linea ad alta velocità Al Boraq, che corre nel nord del Marocco, quindi i passeggeri utilizzano i servizi convenzionali ONCF Al Atlas e intercity per la tratta di Marrakech.
Le linee ferroviarie da Marrakech si dirigono verso nord verso Casablanca e l'asse atlantico, per poi continuare verso Rabat, Kenitra, Tangeri, Meknes e Fes tramite collegamenti ONCF. La stazione ferroviaria funge anche da punto di accesso ferroviario per i passeggeri che proseguono via strada verso aree oltre l'attuale rete ferroviaria nazionale. Prenota online i treni da e per Marrakech su Rail Monsters.