SR 46 begins as a secondary highway in Stewart County just north of Indian Mound at a junction with US 79/SR 76. It goes south as a narrow and curvy country road, going through Indian Mound going through some hills. It then has a junction and becomes concurrent with SR 233, before they cross the Cumberland River on a ferry and immediately enteringCumberlandCity. They then separate at an intersection with SR 434, with SR 233 running west passing by the Cumberland Fossil Plant. SR 46 then runs south through downtown before having an intersection and short concurrency with SR 149 before crossing into Houston County.
Houston County
It then continues south to Guices Creek to intersect SR 13 before coming to an intersection and becoming concurrent with SR 49 and turning east with it. They then separate with SR 46 turning south again to cross into Dickson County.
Dickson and Hickman Counties
SR 46 then goes through a narrow valley before curving to the east and becoming concurrent with SR 235 and entering Dickson. They then come to an intersection with US 70/SR 1, where SR 235 goes through downtown and SR 46 follows US 70/SR 1 around downtown on a Bypass to the north and east, becoming a primary highway. They then have an interchange with SR 48 before SR 46 separates at another intersection and turns southeast, having another intersection with SR 235 before a junction with SR 47. SR 46 then has an interchange with I-40 before leaving Dickson and continuing southeast. It then goes through Abiff before entering Hickman County and Bon Aqua. It then comes to an intersection with SR 100 and SR 7, where SR 46 turns east and becomes concurrent with SR 100.
They then cross into Williamson County and SR 46 separates and turns south as a secondary highway again just before SR 100's interchange with I-840. It then goes through some farmland as it curves to the southeast and has its own interchange with I-840 before going through some mountains. It then has an interchange with the Natchez Trace Parkway before turning northeast and going through Leipers Fork. It then intersects SR 96 before going through more farmland. It then comes to an end at an intersection with US 431/SR 106 north of Franklin.