The carrier will offer a four-per-week service from Terminal 5 to the Moroccan city from October 28 with flights departing on Thursday, Friday, Saturday and Sunday.
BA already flies from Gatwick to Marrakech eight times a week.
Return fares lead in from £132pp in Euro Traveller and £332pp in Club Europe.
Sean Doyle, director of network and alliances, said: “Marrakech adds another exciting destination to our leisure network at Heathrow and is a fantastic starting point to explore Morocco; from trekking in the Atlas Mountains to discovering the amazing deserts and beaches and soaking up the atmosphere of the many medinas.