Marrakech est le terminus sud du principal réseau ferroviaire voyageurs du Maroc, ce qui confère à la ville un rôle important à l'extrémité du réseau ONCF. La ville compte une gare principale, la gare de Marrakech, qui assure les trains grandes lignes au départ de Marrakech ainsi que les trains à destination de Marrakech sur la ligne principale conventionnelle vers le nord.
L'ONCF exploite des services interurbains entre Marrakech et les principaux pôles ferroviaires marocains, notamment Casablanca, Rabat, Fès, Meknès et Tanger, avec des correspondances lorsque nécessaire. Marrakech ne se trouve pas sur la ligne à grande vitesse Al Boraq, qui dessert le nord du Maroc, les passagers utilisent donc les services conventionnels ONCF Al Atlas et interurbains pour le corridor de Marrakech.
Les liaisons ferroviaires au départ de Marrakech se dirigent vers le nord en direction de Casablanca et de l'axe atlantique, puis continuent vers Rabat, Kénitra, Tanger, Meknès et Fès via les correspondances ONCF. La gare sert également de point d'accès ferroviaire pour les passagers poursuivant ensuite leur trajet par la route vers des zones situées au-delà du réseau ferroviaire national actuel. Réservez en ligne les trains au départ et à destination de Marrakech sur Rail Monsters.