Route 123 is a continuation of R.I. Route 123, which crosses the state line between Cumberland, Rhode Island and Attleboro. In the South Attleboro section of the city, it crosses Routes 1 and 1A in quick succession, just south of the junction of the two and the start of the Attleboro-North Attleborough retail area. It continues eastward, crossing I-95 at exit 3 before turning northeastward, passing Capron Park and the former Attleboro High School building before reaching downtown Attleboro. It crosses Route 152 and under the MBTA commuter rail tracks before making another northerly turn, this time at the end of Route 118. From Attleboro, the route heads eastward into Norton. It crosses Route 140 at the town center, having a brief, 50-yard concurrency between the two. After passing Wheaton College, it continues through town, crossing I-495 at exit 10. The road then turns northward into Easton. In Easton, the road turns eastward again as it becomes concurrent with Route 106 for just over a mile, with Route 123 turning northeastward at the Five Corners intersection between the two routes and Bay Road. The route eventually meets Route 138, which it shares a short concurrency with before turning eastward again at Stonehill College.
Plymouth County
In Brockton, Route 123 crosses Route 24 at exit 17. The route passes the Brockton VA Medical Center, Campanelli Stadium, Brockton High School and the Brockton Fairgrounds in quick succession. At the intersection of Belmont Street and Warren Avenue, the eastbound and westbound lanes split. Eastbound, Route 123 makes a quick turn on and then off of Main Street and crosses Route 28 and under the Old Colony railroad tracks before turning left and sharing a short, one-block long concurrency between Route 123 East and Route 27, before meeting the westbound lanes at the intersection of Commercial Street and Centre Street. The westbound lanes, meanwhile only intersect Routes 27 and 28, heading straight from Centre Street, across Main Street and along the short Legion Parkway before turning south onto Warren Avenue to meet up with the main route once more. Signage in the area is poor, however; many maps point to Route 123 begin concurrent along Route 28 rather than following Commercial Street on the other side of the tracks. Once the two lanes reconnect, they continue eastward along Centre Street, passing the Brockton Hospital before crossing the Beaver Brook into Abington. In Abington, Route 123 crosses Route 18 near the town center before making a quick turn along Washington street and turning eastward again, crossing Old Colony Line tracks once more (adjacent to the Abington MBTA station and Route 58 before heading into Rockland. In Rockland, the route shares a half-mile concurrency with Route 139 before turning northward, then eastward into the town of Hanover. In Hanover, the route crosses through the northern part of town, crossing Route 3 without junction before meeting Route 53 at the village of Assinippi, which provides access between Route 3 and Route 123 at exit 13. Shortly after the intersection, and just south of Jacobs Pond, the route enters Norwell as Main Street, traveling through the town's Historic District and village center. Route 123 finally ends after three-quarters of a mile in the neighboring town of Scituate, at a rotary intersection with Route 3A.