Ostrovul Moldova Veche este situat pe Dunăre, la sud de localitatea Moldova Veche și la aproximativ trei kilometri de port. Cu o suprafață de 345 de ha, insula are un sol nisipos-pietros, cu pâlcuri de pădure unde predomină specia arboricolă de răchită albă, Salix alba, cu floră și faună specifică zonelor umede. Ostrovul are o lungime de aproximativ șase kilometri. Înainte de anul 1970 era mult mai mare, însă a fost inundată odată cu scufundarea insulei Ada Kaleh (care se găsea la aproximativ 70 de kilometri distanță în aval), pentru construcția din 1970 a hidrocentralei Porțile de Fier I.
Ca încadrare teritorial-administrativă aparține orașului Moldova Nouă, județul Caraș-Severin (în Clisura Dunării), în partea sudică a satului Moldova Veche, aproape de drumul național DN57, care leagă localitatea Coronini de Măcești.
Insula și luciul de apă limitrof insulei până la o adâncime de 2 m sunt incluse în Aria specială de protecție avifaunistică Ostrovul Moldova Veche cu o suprafață de 1627 de hectare (din care 345 ha insula propriu-zisă), declarată arie protejată prin Hotărârea de Guvern Nr. 2151 din 30 noiembrie 2004 (privind instituirea regimului de arie naturală protejată pentru noi zone).
Aceasta este inclusă în Parcul Natural Porțile de Fier, parc natural aflat pe suprafața teritorială a sitului de importanță comunitară Cursul Dunării – Baziaș – Porțile de Fier.
În interiorul insulei se întind și două lacuri, fără conexiune cu Dunărea, care ocupă de fapt cea mai mare suprafață









