De plaats waar Casablanca nu ligt, werd in de 1ste eeuw voor Christus door de Romeinen gebruikt als havengebied. In de 7de eeuw vestigden de Berbers zich er. Zij gaven hun nederzetting de naam Anfa. Anfa werd een onafhankelijk koninkrijk, dat zich niet aansloot bij de islamitische godsdienst. In 1068 werd arriveerden de Almoraviden in Anfa en bezetten de stad. Enkele eeuwen later doopten de Mereniden de stad om tot een moslimgemeenschap.
Een eeuw later, rond 1400 werd Anfa opnieuw onafhankelijk. De bevolking die er woonde bestond vooral uit piraten die onder meer de Portugese kusten onveilig maakten. Dat werd de stad in 1468 fataal, ze moest het bekopen met een nagenoeg totale vernietiging. Het waren de Portugezen die de stad heropbouwden en haar de naam Casa Branca gaven.
Ruim twee eeuwen later vernietigde een zware aardbeving al hun werk, waarna de Portugezen de stad verlieten. Aan het einde van de 18de eeuw nam de Marokkaanse sultan de heropbouw voor zijn rekening. Hij gaf de stad de naam Dar al-Bayda, Arabisch voor Casa Blanca. In de eerste helft van de 19de eeuw arriveerden de eerste immigranten in Casablanca en enkele decennia later bood de stad onderdak aan ruim 8000 Europeanen.
Het begin van de 20ste eeuw luidde het begin van de havenontwikkeling in en even later, in 1907, bezetten de Fransen de stad. Om hun stempel op Casablanca te drukken, bouwden ze naast het oude stadscentrum een nieuwe stad in Franse bouwstijl. De komst van de Fransen maakte van Casablanca de economische hoofdstad van Marokko.
Pas in 1956 werd Marokko opnieuw onafhankelijk, wat de economie van Casablanca een serieuze deuk bezorgde. Gelukkig zorgden de handel en nijverheid voor een spoedig herstel. Ook het toerisme werd een van de belangrijkste bronnen van inkomsten. Casablanca is vandaag de economische hoofdstad van Marokko, Rabat de politieke. In 2003 werd Casablanca opgeschrikt door een bomexplosie van Marokkaanse zelfmoordterroristen waarbij tientallen doden en ruim 100 gewonden vielen. Zekerheid omtrent de motieven van de daders is er tot op vandaag niet.