Mahdija ima burnu prošlost. Prvobitna naselja na ovim prostorima su podigli Feničani, dok je sam grad osnovan 916. godine, da bi već 921. godine postao prestonica Tunisa. Osnivač grada je pripadnik dinastije Fatimida – Obeid El Mahdi, koji je imao viziju o osnivanju vojne baze, odakle je želeo da napadne Kairo. To se nikad nije desilo i nakon njegove smrti, Fatimidi su napustili grad, i Mahdija je nastavila da se razvija kao izuzetano važna trgovačka luka i najbogatije mesto na Berberskoj obali. U međuvremenu je Mahdija bila meta Normana, Đenovljana, Španaca i malteških vitezova. Prethodili su Rimljani, na čije prisustvo podsećaju današnji ostaci drevne kapije, nadomak stare ribarske luke – Fatimid port.
Na isturenom obalskom rubu je ogromna tvrđava, čijem su konačnom izgledu najveći pečat dali Turci. U XVI veku ovde je došlo do žestokih sukoba između Španca i Turaka, gde su Španci uspeli da osvoje grad, ali su 4 godine kasnije bili primorani da se povuku, i tom prilikom su porušili džamiju Fatimid iz 921. godine. Verna replika je sagradjena 1965. godine.
U XIX veku, kao i ceo Tunis, Mahdija je bila pod protektoratom Francuske. Interesantan je i taj podatak da je tokom II svetskog rata Khaled Abdul Wahab na svojoj farmi u predgradju Mahdije, skrivao i uspeo da spasi od smrti tridesetak jevrejskih porodica.