Mellem Herlev og Hjortespring ligger de prækvartære lag, dvs. de lag, som er ældre end 2,6 mio. år, forholdsvis tæt på overfladen. Ved Herlev begynder de eksempelvis i ca. 10 m’s dybde, mens deres top ved Hjortespring ligger i 15‑20 m’s dybde. I den østlige del af kommunen ligger de dybere og findes først fra dybder på mellem 10‑30 m, men stiger i retning af Skovlunde i Ballerup Kommune, hvor de begynder i 15 m’s dybde. De øverste prækvartære lag består af kalk fra Danien.
Oven på de prækvartære lag findes istidsaflejringer af især smeltevandssand og -grus, som er overlejret af moræneler. Langs kommunens vandløb og småsøer findes desuden ferskvandsler, tørv og sand, som er aflejret i tiden efter sidste istid.
Grundvand indvindes overvejende fra lagene af danienkalk.