Марракеш є південним кінцевим пунктом головної пасажирської залізниці Марокко, що надає місту важливу роль на кінці мережі ONCF. У місті є одна основна залізнична станція — Marrakech Railway Station, яка обслуговує далекі поїзди з Марракеша та поїзди до Марракеша на північному звичайному магістральному напрямку.
ONCF здійснює міжміські рейси між Марракешем та основними залізничними вузлами Марокко, зокрема Касабланкою, Рабатом, Фесом, Мекнесом і Танжером, із пересадками, де це потрібно. Марракеш не розташований на високошвидкісній лінії Al Boraq, яка проходить північчю Марокко, тому пасажири користуються звичайними поїздами ONCF Al Atlas та міжміськими рейсами для коридору Марракеша.
Залізничні маршрути з Марракеша прямують на північ до Касабланки та атлантичної осі, а далі — до Рабата, Кенітри, Танжера, Мекнеса і Феса через сполучення ONCF. Залізнична станція також слугує пунктом залізничного доступу для пасажирів, які далі прямують автомобільним транспортом до районів за межами чинної національної залізничної мережі. Бронюйте поїзди з Марракеша та до Марракеша онлайн на Rail Monsters.