Nanning está situada en la parte sur de la Región Autónoma Zhuang de Guangxi, a 160 km de la frontera con Vietnam. Su superficie es de 22.293 kilómetros cuadrados.
La ciudad está situada en la orilla norte del río Yongjiang, el principal afluente sur del río Yongjiang, a unos 30 kilómetros por debajo de la intersección de los ríos Yongjiang y Zuojiang. El río Yong (que más tarde se convertiría en el río Yu) proporcionaba un buen paso a Guangzhou, que todavía era navegable por sampanes de poco calado y lanchas a motor, incluso si estaba bloqueado por rápidos y bancos de arena.
Nanning está situada en una cuenca montañosa con una altitud de 70 a 500 metros. La montaña Qingxiu domina la parte sur de la ciudad.
El clima en Nanning es un clima monzónico subtropical, con inviernos y veranos a veces muy cálidos. La temperatura media es de 21,7°C, a menudo hace viento o brisa y llueve, con precipitaciones anuales que superan los 1300 mm. Excepto tres o cuatro días al año, también hay un período libre de heladas y nunca nieva.