The river flows west from Mount Mansfield, through Underhill State Park to the town of Jericho. Continuing west, it enters the town of Essex and turns north near the village of Essex Center. It passes through the town of Westford and reaches its mouth in the southwestern corner of the town of Fairfax, where it empties into the Lamoille River.