Die etimologie van die stadsnaam is onduidelik. Dit is moontlik afgelei van zagrabiti ("water skep"), terwyl ander bronne die Kroatiese term za grebom ("agter die berg") as sy oorsprong gee. Zagreb het in elk geval uit twee nabygeleë Middeleeuse nedersettings ontstaan wat op twee heuwels geleë was. Volgens historiese dokumente is die plaaslike bisdom reeds in 1094 gestig.