Middelfart liegt etwa 11 km südlich von Fredericia, etwa 34 km nordwestlich von Assens und etwa 46 km westlich von Odense. Die Stadt liegt zwischen dem nördlichen Teil von Snævringen und dem Fænøsund und verfügt an beiden Ufern über mehrere Häfen. Am Südufer von Snævringen, zwischen den beiden Brücken über den Kleinen Belt, liegen der Gemeindehafen, der Kongebro Havn und die neue Tel-Ka-Marina, am Nordufer des Fænøsund liegt im Stadtteil Russelbæk der Yachthafen Middelfart (Middelfart Lystbådehavn).
Süddänemark
Die Stadt liegt auf der Insel Fünen.
auf der Insel Fünen