The town lies along the European route E39 highway, about 40 kilometres (25 mi) southwest of the town of Kristiansand and about 60 kilometres (37 mi) southeast of the town of Flekkefjord. Mandal has a few suburban villages lying just outside its borders such as Ime immediately to the east and Sånum to the southwest. The village of Krossen lies about 10 kilometres (6.2 mi) to the north, along the Mandalselva river.
The area around what is today Mandal was not developed during the Middle Ages. During the 1300s, a trading post called Vester-Risør grew up along the Skogsfjorden, just west of the present-day town. The town began when King Eric of Pomerania gave the town the right to trade salmon. By the 1500s, Vesterrisør was a bustling kjøpstad, making it the oldest market town in Vest-Agder. During the 1600s, the name of the town was changed to Mandal. Salmon fishing and the timber industry pushed the town's growth even more during the 1700s. Mandal Church was completed in 1821 after the old church burned down in the town's fire of 1810.
On 1 January 1838, the kjøpstad was granted self-governing rights as a ladested under the new formannskapsdistrikt law. In 1921, Mandal received full town status under the law. During the 1960s, there were many municipal mergers across Norway due to the work of the Schei Committee. On 1 January 1964, the town of Mandal (population: 5,446) was merged with the neighboring municipality of Halse og Harkmark (population: 3,676) and most of the municipality of Holum (population: 1,127) to form a new, larger municipality of Mandal. Today, the town is also a tourist destination, especially due to its Sjøsanden beach.
The town is named after the valley (and river) in which it is located: Mandalen. The name Mandal which comes from the Old Norse name Marnardalr. The first element is the genitive case of the river name Mǫrn (now Mandalselva) and the last element is dalr which means "valley" or "dale".
Prior to 1653, the town was named Vesterrisør (meaning "western Risør"). The name was originally referring to the island Risøya outside the town, and the first element was added in the 16th century to distinguish it from the town of Østerrisør (meaning "eastern Risør"), which is now simply called Risør.