SR 25 begins west of Porter, where NH 25 crosses the Maine-New Hampshire border. The western part of the highway runs along the Ossipee River on the southern edge of town. SR 25 intersects and overlaps with SR 160 before crossing the river, passing through the extreme northeast corner of Parsonsfield en route to Cornish, where it meets SR 5. On the north side of town, SR 5 and SR 25 have a brief concurrency before meeting SR 117. SR 5 splits off northeast, crossing the Saco River with SR 117 in tow, while SR 25 joins SR 117 south towards Limington. After crossing the town line, SR 117 splits off with SR 25 continuing southeast through town. The highway crosses SR 11 and then over the Saco River into Standish. SR 25 meets the southern terminus of SR 113 and crosses SR 35 before crossing into Gorham. SR 25 overlaps briefly with SR 112 before reaching the town center, where it runs concurrently with US 202 and SR 4, crossing SR 114 in the process.