Hartkirchen liegt in der Pockinger Heide an der Staatsstraße 2110 etwa vier Kilometer östlich von Pocking und mit 2 km Entfernung in unmittelbarer Nähe des Inns. Es liegt etwa 22 km südlich von Passau, 38 km östlich von Pfarrkirchen, 8 km Inn aufwärts vom österreichischen Schärding und 35 km nordöstlich von Simbach am Inn. Die Rott fließt in etwa 6 km nördlich von Hartkirchen in den Inn.