Niš se nalazi se u Niškoj kotlini, s obe strane reke Nišave, blizu njenog ušća u Južnu Moravu. Okružen je brdima Hum, Vinik i Kamenički vis na severoistoku, dok se na južnoj strani grada nalaze Gorica i Bubanj. Putevi koji vode moravskom dolinom kod Niša se račvaju ka jugu, prema Solunu i Atini, kao i na istok ka Sofiji i Istanbulu. Uži centar grada nalazi se na 194 m nadmorske visine (kod Spomenika u centru). Najviša tačka gradske teritorije je Sokolov kamen (1.523 metara) na Suvoj planini, a najniža (173 metra) kod naselja Trupale, na ušću reke Nišave.
Područje opštine Niš zahvata površinu od 596,71km², na kome se nalazi Niš, Niška Banja i 68 prigradskih i seoskih naselja.