Marstrup ist eine Kleinstadt in der Gemeinde Haderslev, in der Region Syddanmark, Dänemark. Marstrup liegt auf 44 m Höhe. Die Einwohnerzahl beträgt 778 (2026). Die nächste größere Stadt ist Haderslev, 5,4 km nordöstlich. Strände in der Nähe: Kelstrup (9 km), Hejsager (11 km). Zu den Sehenswürdigkeiten in der Umgebung gehören Marienkirche Hadersleben (5,4 km), Immervad Bro (8,2 km) und Schloss Brundlund (18,9 km). Zu den Naturdenkmälern gehören Knivsberg (8,2 km).