NY 46 begins at an intersection with NY 12B in the town of Eaton (in the hamlet of Pecksport). NY 46 proceeds northwest through Eaton, crossing a junction with County Route 81 (CR 81 or Canal Road). Just north of the junction, the route crosses over the abandoned canal, immediately entering the hamlet of Pine Woods, where it runs along Leland Pond into an intersection with NY 26 (Fargo Road). Less than a mile northwest of NY 26, NY 46 reaches a junction with US 20. Paralleling the creek that was Leland Pond, NY 46 and US 20 run concurrently for a short distance, crossing through the center of Pine Woods. Near the center of the hamlet, NY 46 turns off to the northeast.