Los primeros restos arqueológicos que se han encontrado en Assilah son los restos fenicios que datan del siglo II a.C. Gracias a estos restos, se ha podido determinar que esta zona costera fue visitada por los fenicios y griegos y, posteriormente, por los cartagineses, con quienes la ciudad gozó de un alto estatus gracias al comercio, llegando a disponer de su propia moneda. Más tarde, sería ocupada por los romanos en el siglo I a.C. perdiendo importancia a favor de Lixus (Larache).
Sin embargo, el nombre de Assilah vendrá más tarde, concretamente en el año 712, cuando la ciudad es conquistada por los árabes y se convierte en un importante enclave comercial para los mercaderes del sur de España y las regiones vecinas. En esta época, paralelamente al desarrollo comercial y económico de la ciudad, se produce un resurgimiento cultural promovido por una generación de escritores y sabios, que coincidirá con la época de los idrisidíes.
Portugal será la primera potencia europea en llegar a la zona, concretamente en el año 1471, cuando los portugueses transformaron la ciudad en un centro comercial, convirtiéndola en una fortificación dedicada al comercio en la ruta del oro sahariano. El mismo monarca portugués Sebastián I, llegó con su ejército a la ciudad en 1578 con la intención de conquistar Marruecos. Sin embargo, el monarca portugués sería derrotado en la Batalla de los Tres Reyes, en Alcazarquivir, haciendo que Assilah entonces volviese al poder de los saidies.
Tras la muerte del rey portugués, la ciudad pasaría a manos de la corona española, por lo que la ciudad fue una importante fortaleza entre los siglos XV y XVI. En 1691, fue de nuevo reconquistada por Mulay Ismail, sultán de Marruecos, de la dinastía alauita. En 1860 la ciudad sufrió importantes daños debido al bombardeo de la armada española.