By train — Rabat has two train stations: Rabat Ville in the city centre (most useful) and Rabat Agdal in the newer residential area to the south. ONCF trains connect Rabat Ville to Casablanca (90 minutes), Fez (3 hours), Tangier (3.5 hours), and Marrakech (4.5 hours with a change at Casablanca). Frequency is good; trains are comfortable and reliable.
By air — Rabat–Salé Airport (RBA) is 10 km northeast of the city. It handles some international routes but Casablanca's Mohammed V Airport (CMN) has far more connections and is 90 minutes away by train. Many travellers fly into Casablanca and take the train.
By bus — CTM and Supratours buses connect Rabat to all major Moroccan cities. The main bus station (Gare Routière) is in the Agdal district, a taxi ride from the medina; the train is generally more convenient.