Ostrava se encuentra en el valle de la Puerta de Moravia, aproximadamente a 360 km al este de la ciudad capital de Praga, 10 km al sur de la frontera estatal con la República de Polonia y 60 km al noroeste de la frontera con la República Eslovaca. La Puerta de Moravia es un punto de paso entre las montañas Jeseníky y Beskydy. La altitud de la ciudad varía entre 200-335 m.s.n.m. Su superficie es de 21.422 ha, el territorio de la ciudad mide 20, 1 km en sentido este-oeste y 20, 5 km en sentido norte-sur en línea recta.