Ostrava leží v údolí Moravské brány, přibližně 360 km východně od hlavního města Prahy, 10 km jižně od státní hranice s Polskou republikou a 60 km severozápadně od hranice se Slovenskou republikou. Moravská brána je průchozím místem mezi horstvy Jeseníků a Beskyd. Nadmořská výška města se pohybuje v rozmezí 200-335 m.n.m. Jeho rozloha představuje 21 422 ha, území města měří vzdušnou čarou 20, 1 km ve směru východ-západ a 20, 5 km ve směru sever-jih.