Marrakesh has recently become a popular route for a number of low cost carriers from the UK. Royal Air Maroc, easyJet, ryanair and Thomson all fly direct from London airports to Marrakesh. Another option is to get the ferry from Algeciras in Spain to Tangier or Ceuta on the north coast of Morocco and then travel overland to Marrakesh.
Marrakesh Menara Airport is only about six km (10-15mins) away from the medina and the centre of town by taxi. If you don't have too much luggage, take bus line 19, that goes to all the main points in the city including Djemaa el Fna, the bus station, and Gueliz. Getting a taxi from the airport can be a bit of a struggle, as taxi drivers outside the airport will drive a hard bargain! Make sure the driver uses the meter or agree on a price beforehand. You should pay no more than DH60 from the airport to the city centre during the day. Several international car hire companies are based at the airport if you want to try out the Moroccan roads yourself.
If you're staying in the medina everything can be found on foot, by bus or by petit taxi (the smaller hatchback cars used for travelling around the city). There is also an open topped sightseeing bus, useful for travelling around the outskirts of the medina. You can catch it from the Square de Foucauld. Another popular, quirky method of travelling around the city is by caleche (horse drawn carriage), which you will find at Djemaa elFna. Make sure you agree a price before you set off and don't pay more than DH80 for an hour.
Grand taxis are the larger vehicles used for journeys between Marrakesh and other cities. Your hotel or guest house will be able to arrange a grand taxi to popular destination such as Fez or Essaouira for a fixed price. Trains depart regularly between Marrakesh and Casablanca, Rabat, Fes and Tangier. The train station is in Gueliz on Avenue Hassan II, and to find out train times, see the Moroccan Railway website. There is no train line further south from Marrakesh so to get to the desert, Atlas Mountains, Agadir or Essaouira you'll have to get a bus, rent a car or grand taxi. The bus service throughout Morocco is well established, serving Marrakesh and a number of other cities. The recommended companies are CTM, Pullman du Sud, and Supratours. Buses arrive and depart from the long distance bus station Gare Routière at Bab Doukkala, a 20 minute walk from Djemaa El-Fna.