Buchholz liegt am linken Ufer der Weser und grenzt im Norden und Westen an den niedersächsischen Landkreis Nienburg/Weser. Im Süden liegt die Ortschaft Großenheerse und im Osten liegen, getrennt durch die Weser, Ilvese und Döhren.