Haifos pavadinimas greičiausiai kilo iš hebrajų k. žodžių hof yafe – „nuostabus paplūdimys“. Miestas žinomas jau nuo antikinių laikų ir tada vadintas Sikaminonu (Sycaminon). Talmude miestas minimas III a. pr. m. e. Iki VII a. valdyta Bizantijos, vėliau persų ir arabų. Viduramžiais Haifa žinoma Caiphas pavadinimu. XII a.kryžiuočiai čia įkūrė savo pilį, tačiau ją netrukus sugriovė Saladino kariai. 1716 m. miestą sugriovė beduinai, tačiau atstatė naujoje vietoje. 1799 m. Haifą užėmė Napoleonas. XX a. pradėjo augti kaip svarbus uostamiestis ir prekybos centras. Įkūrus Izraelio valstybę čia atvykę žydai išstūmė iki tol dominavusius arabus.
Naftos rafinavimas, naftos chemijos, elektronikos, maisto, chemijos, stiklo, cemento, tekstilės pramonė. Šalia miesto yra tarptautinis Haifos oro uostas, o Haifos įlankos pakrantėje – jūrų uostas.