Montmagny se trouve au nord-ouest des monts Notre-Dame (section des Appalaches), au bord du fleuve Saint-Laurent. La ville est traversée par la Rivière du Sud, dans laquelle vient se jeter une plus petite rivière nommée Bras-Saint-Nicolas. Alimentées par ces deux affluents, les chutes de la Rivière du Sud, situées à la limite nord-ouest de la ville, se jettent dans le fleuve. Le relief de la ville est peu accidenté, et suit en pente douce cette rivière jusqu'à son embouchure dans le fleuve.