En 1390 la ciudad fue objetivo de una cruzada. Mahdía, fue base de corsarios musulmanes y fue sitiada por una armada franco-genovesa sin éxito. En el siglo XVI la tomó el pirata Dragut. Carlos V se apoderó de la ciudad en 1550 y una guarnición española permaneció allí hasta 1553. El emperador ofreció el gobierno de la ciudad a la Orden de San Juan que gobernaba Malta, pero la rechazaron por considerarla demasiado dificultosa de mantener. El emperador ordenó entonces al virrey de Sicilia, Juan de Vega, desmantelar Mahdia a pesar de ser un baluarte de importancia estratégica, y las tareas de demolición fueron llevadas a cabo por Hernando de Acuña. Los otomanos pasaron a ocuparla. Y aunque no la reconstruyeron sino parcialmente a su retorno, la villa fue engrandeciéndose poco a poco y se transformó en uno de los más grandes puertos de pesca de Túnez.