Weißenfels liegt am Austritt der mittleren Saale aus dem Buntsandsteingürtel des Thüringer Beckens in die Leipziger Tieflandsbucht, unweit der A 9, zwischen Halle/Saale (36 km) und Jena (48 km), 41 km südwestlich von Leipzig, im sogenannten Weißenfels-Jenaer Saaletal. Bedingt durch die Lage der Stadt im hier vergleichsweise engen Saaletal, variiert die Höhenlage der Stadt, hauptsächlich in den Stadtteilen östlich der Saale, beträchtlich. Die Höhe über Normalnull beträgt im Bereich des Marktplatzes etwa 100 m; im Bereich des Gewerbegebietes südwestlich der Bundeswehrkaserne liegt diese bei über 180 m (Eidechsenberg 183,50 m).
Teile der Kernstadt Weißenfels (Gebiet der Saaleauen) sowie die westlichen Ortsteile liegen im Naturpark Saale-Unstrut-Triasland, der sich, weiter an das Stadtgebiet anschließend, nach Südwesten ausbreitet. Weiterhin befindet sich die Stadt im geplanten Geopark Triasland.
Im Stadtgebiet befinden sich mit der Einzellage Burgwerbener Herzogsberg die nordöstlichsten Weinberge des Anbaugebietes Saale-Unstrut.