Les Almoravides (en arabe al-Murabitun), guerriers rigoristes de l'islam, dont le mouvement était né dans le sud de la Mauritanie actuelle parmi les nomades Sanhadja, allaient dominer la région à partir de 1062, date à laquelle ils fondèrent Marrakech, au croisement des routes commerciales entre le monde arabe et le Sahara. Leur expansion se fit à la fois en direction de l'Espagne musulmane et de l'Afrique noire. En 1086, ils battaient, à Zellaca, le roi Alphonse XI.
Au sud, ils emportaient, en 1077, une victoire décisive sur l'empire du Ghana, prenant ainsi le contrôle du commerce de l'or. Au début du XIIe siècle, l'empire almoravide comprenait l'Espagne musulmane, le Maghreb occidental et central ainsi que le Sahara. Mais un nouveau mouvement réformateur se dressa contre eux. La venue au pouvoir des Almohades, en 1147, marqua le triomphe des Berbères sédentaires de l'Anti-Atlas. Dans sa plus large extension, les Almohades exerçaient leur autorité sur l'actuelle Algérie, la Tunisie, la Libye, ainsi que sur une partie du Portugal et de l'Espagne.
En 1212, la bataille de Las Navas de Tolosa, sur le sol espagnol, au cours de laquelle les armées chrétiennes vainquirent les troupes musulmanes, marqua le début du déclin des Almohades et de l'Espagne musulmane. Les Beni Merin, des Berbères qui avaient été poussés vers le sud du Maroc par les invasions arabes, en profitèrent pour se soulever. En 1269, les Mérinides parvinrent à s'imposer sur le trône!; ils fixèrent leur capitale à Fès qu'ils firent doubler par une nouvelle cité, Fes el-Djid (Fès-la-Neuve). Les Mérinides ne purent cependant maintenir l'empire maghrébin des Almohades. Ils perdirent le contrôle des routes sahariennes et s'engagèrent dans de coûteuses opérations militaires dans la péninsule Ibérique, luttant contre l'avancée des princes chrétiens ou prenant parti dans les conflits entre princes musulmans d'Andalousie. La Reconquista (reconquête) gagna bientôt le territoire marocain lui-même. Espagnols et Portugais se partagèrent les côtes en zones d'influence : les rivages méditerranéens revinrent à l'Espagne et le littoral Atlantique échut au Portugal. En 1415, le port de Ceuta fut pris aux musulmans andalous par les Portugais!; Melilla tomba aux mains des Espagnols en 1497.