The quake, which struck about 50 miles from the city of Marrakesh late Friday, was the strongest in the area in at least 123 years, the United States Geological Survey (USGS) said.
The earthquake struck around 11:00 p.m. local time. Images on state television showing toppled buildings as residents scrambled for safety.
“Since 1900, there have been no earthquakes M6 [magnitude 6] or larger within 500km of this earthquake, and only nine M5 [magnitude 5] and larger,” the USGS said on its website.
“According to a provisional report, 296 people have been killed in the provinces and municipalities of Al Haouz, Marrakesh, Ouarzazate, Azilal, Chichaoua and Taroudant,” the North African country said in a statement, adding that 153 people were injured and hospitalised.
Frantic rescue effort is underway, with the road leading to the epicenter of the earthquake blocked by jammed vehicles and collapsed rocks, slowing down rescue efforts.