Localitatea Petrova este situată pe malul stâng al râului Vișeu, la aproximativ 12 km față de confluența acestuia cu râul Tisa, la 100 km distanță rutieră față de Baia Mare, municipiul reședință a județului Maramureș, 35 km față de Sighetu-Marmației, fosta capitală a Maramureșului istoric și la 24 km față de orașul Vișeu de Sus.

Geografic, potrivit coordonatelor stabilite în 1933, Petrova se situază între 41 53′ 15” longitudine estică și 47 49′ 40” latitudine nordică, cu un nivel de altitudine de 357,74 m deasupra nivelului apei.

Vecinătățile localității Petrova sunt:

• la Nord – Est comuna Bistra;
• la Sud – Est comuna Leordina;
• la Sud – Vest comuna Strâmtura;
• la Vest comuna Bârsana și comuna Rona de Sus;