Leží na severní Moravě a v části Českého Slezska. Na jihu sousedí se Zlínským krajem, na západě s Olomouckým krajem, na severu s polskými vojvodstvími Opolským (Województwo opolskie) a Slezským (Województwo śląskie), na jihovýchodě s Žilinským krajem (Žilinský samosprávny kraj) na Slovensku.
Horopisně leží území kraje na rozhraní Českého masívu a vnějších západních Karpat. Nejvyšším pohořím je Hrubý Jeseník (Praděd, 1 491 m), jenž patří k Českému masívu a Moravskoslezský kraj se o něj dělí se sousedním Olomouckým krajem. Na opačném, jihovýchodním konci kraje se zvedají Moravskoslezské Beskydy (Lysá hora, 1 323 m), které přecházejí do Zlínského kraje, na Slovensko i do Polska. Nižší kopce lemují jihozápadní hranici kraje. Severovýchod se naopak svažuje do Ostravské pánve kolem řeky Odry a jejích přítoků. Nejnižším bodem je soutok řek Odry a Olše (195 m).
Většinu území kraje odvodňuje řeka Odra a její přítoky (např. Opava, Ostravice, Olše) do Baltského moře. Pouze z části Nízkého Jeseníku kolem Rýmařova a drobných území okresu Nový Jičín odtékají vody do povodí řeky Moravy, tedy do Černého moře.
I když je kraj spojován především s průmyslovým Ostravskem, nachází se v něm i cenné přírodní oblasti, jež jsou chráněny v rámci 3 chráněných krajinných oblastí: Beskydy (rozlohou 1 160 km² včetně zlínské části největší CHKO v Česku), Jeseníky a Poodří. Kromě toho je zde 131 maloplošných chráněných území.
























