Marrakesz jest południowym końcem głównej pasażerskiej linii kolejowej Maroka, co nadaje miastu ważną rolę na końcu sieci ONCF. W mieście znajduje się jedna główna stacja kolejowa, Marrakech Railway Station, obsługująca pociągi dalekobieżne z Marrakeszu oraz pociągi do Marrakeszu na północnym konwencjonalnym głównym szlaku.
ONCF obsługuje połączenia między miastami Marrakesz i głównymi marokańskimi węzłami kolejowymi, w tym Casablanką, Rabatem, Fes, Meknes i Tangerem, z przesiadkami tam, gdzie są wymagane. Marrakesz nie leży na linii dużych prędkości Al Boraq, która przebiega w północnym Maroku, więc pasażerowie korzystają z konwencjonalnych usług ONCF Al Atlas oraz połączeń między miastami na korytarzu do Marrakeszu.
Trasy kolejowe z Marrakeszu biegną na północ w kierunku Casablanki i osi atlantyckiej, a następnie dalej do Rabatu, Kenitry, Tangeru, Meknes i Fes poprzez połączenia ONCF. Dworzec kolejowy pełni również funkcję punktu dostępu kolejowego dla pasażerów kontynuujących podróż drogą do obszarów poza obecną krajową siecią kolejową. Zarezerwuj pociągi z i do Marrakeszu online w Rail Monsters.