The CTM bus station is west of the ville nouvelle, a couple of blocks from the main train station.
CTM departures include Casablanca (Dh85, three to four hours), some of which go via Rabat (Dh55, two hours), as well as Fez (Dh25, one hour) and Marrakesh (Dh165, seven to eight hours), Tangier (Dh90 to Dh100, five hours), Oujda (Dh130, 5½ to seven hours), Taza (Dh70 to Dh80, three hours), Errachidia (Dh110 to Dh120, six to seven hours) and Nador (Dh130, six hours).
Slightly cheaper than CTM, other buses depart from the Gare Routière, which is located just outside the medina's western Bab El Khemis and has left-luggage and snack stands. However, these buses are not very reliable. Buses to Fez run hourly from 5am to 10pm and cost Dh15.
Tickets need to be purchased from the numbered windows:
Bus 1 Marrakesh (six daily, 5.30am to 6.30pm)
Bus 2 Midelt, Errachidia, Ouarzazate and Rissani (one daily)
Bus 4 Rabat and Casablanca (hourly 5.30am to 4pm)
Bus 6 Tangier (seven daily), Tetouan via Chefchaouen (four daily)
Bus 7 Fez (hourly), Taza (one daily), Oujda (four daily) and Nador (six daily, indirect)
Note that the bus to Moulay Idriss is a red city bus (15) that departs from Bab El Mansour (Dh7) rather than the bus station.
The principal grand taxi rank is a dirt lot next to the Gare Routière just outside the medina's Bab El Khemis. There are regular departures to Fez (Dh25, one hour), Ifrane (Dh30, one hour), Azrou (Dh30, one hour) and Midelt (Dh45, three hours).
Grands taxis for Moulay Idriss (Dh10, 20 minutes) leave from opposite the Institut Français – this is also the place to organise round trips to Volubilis, for which there is an official rate (half-day trip Dh400, one to five people), though note that it's very cheap to hire a taxi for the trip to Volubilis once you arrive at the taxi rank in Moulay Idriss.
Taxis run to Fes-Saïss Airport from Meknes at a day/night fixed rate of Dh400/500 or to Casablanca Airport for Dh1400.
Although Meknes has two train stations, head for the more convenient Al Amir Abdelkader, east of the ville nouvelle. There are trains to Fez (Dh32, 45 minutes), Taza (Dh59, three to four hours), some of which involve a change at Fez, and Oujda (Dh201, 6½ to seven hours). Trains also go to Casablanca (Dh143, three to 3½ hours) via Rabat (Dh95, two to three hours), and to Marrakesh (Dh280, seven hours). For Tangier, there are four direct trains a day (Dh90, four to five hours) and two night trains that involve a change at Sidi Kacem.