Esgaroth was located in north-eastern Wilderland, a large inland region of Middle-earth. It was situated on the western shores of the Long Lake, close to the inflow of the Forest River. The Forest River provided an upstream route to Mirkwood. The Lonely Mountain, which could be seen from the town and could be reached by travelling up the Long Lake and then up its northern inflow, the Celduin. The Celduin flowed out of the south of the lake, providing a travel route from Esgaroth all the way downstream to the land of Dorwinion on the Sea of Rhûn.