De ældste lag i kommunen ligger i 50‑60 m’s dybde og består af kalksten fra Danien. Over danienkalken i 20‑50 m’s dybde findes lag af ler og mergel, som blev aflejret i Paleocæn. Lagene fra såvel Danien som Paleocæn blev aflejret i et hav, som på daværende tidspunkt dækkede store dele af Danmark. Mens aflejringerne af danienkalk skete i ca. 200 m’s dybde, blev lagene af ler og mergel aflejret efter et fald i havniveauet.
Lagene fra Danien og Paleocæn dækkes af istidsaflejringer, som hovedsagelig består af 25‑30 m tykke lag af moræneler fra sidste istid, Weichsel. På bl.a. Hindsholm samt ved Kertinge Nor og Munkebo er der 10‑20 m tykke lag af smeltevandssand og -grus under moræneleret. Fra Langeskov til Kertinge Nor og i bunden af Odense Fjord ligger der sand, som blev aflejret på en smeltevandsslette. På Hindsholm er der desuden store områder med marine aflejringer fra Littorinahavet (Stenalderhavet). Der indvindes grundvand fra danienkalken og lagene fra Paleocæn.