Zagrebi ajalugu ulatub Vana-Rooma perioodi, kui linna kohal asus 1. sajandi alguses Andautonia asula. Esimest korda mainitakse nime Zagreb 1094. aastal, mil linn koosnes kahest erinevast linna südamikust: väiksemal, idapoolsel Kaptolil elasid peamiselt vaimulikud ja asus juba siis Zagrebi katedraal ning suuremal, idapoolsel Gradecil elasid ülejäänud linnakodanikud, peamiselt talupidajad ja kaupmehed. Gradec liideti Zagrebi linnaga 1851. aastal ban Josip Jelačići poolt, kelle järgi on nimetatud praegu Zagrebi keskväljak. Jugoslaavias oli Zagreb oluline majandussõlm ja riigi suuruselt teine linn. Pärast Horvaatia iseseisvumist sai Zagrebist Horvaatia pealinn.