Narva ligger i nordøst i Estland, 210 km øst fra Estlands hovedstad Tallinn og 130 km sørvest fra St. Petersburg i Russland. Hovedstaden i Ida-Viru fylke, Jõhvi, ligger 50 km mot vest. Narvaelven som renner øst for byen Narva danner grensen mot Russland. Narvaelven renner ut i Finskebukta ca. 13 km nedstrøms for byen ved Narva-Jõesuu.