Geograficznie miasto położone jest w południowej części Wyżyny Śląskiej na Płaskowyżu Rybnickim oddzielającym Kotlinę Raciborską od Kotliny Oświęcimskiej. Obszar płaskowyżu odznacza się urozmaiconą, pagórkowatą rzeźbą terenu. Część zachodnia opada tarasowo w kierunku doliny Olzy, a w części wschodniej przechodzi w krajobraz szeroki i płaski, opadający do doliny Wisły.
Większa część miasta leży na terenie pagórkowatym o przebiegu równoleżnikowym, na wyniesieniach nie przekraczających 290 m n.p.m.


