SR 124 begins at an intersection with I-20/US 278/SR 12 in Lithonia, in DeKalb County. To the northeast, it crosses into Gwinnett County and, immediately, crosses over the Yellow River. Southwest of Snellville, it meets SR 264. In town, it intersects US 78/SR 10 and then, the Ronald Reagan Parkway. On the southwestern edge of Lawrenceville is Sugarloaf Parkway. Farther into town, it intersects SR 20. Then, US 29/SR 8 join the road in a concurrency to the west. A short distance later, SR 124 splits to the north, and almost immediately, joins SR 20 concurrently to an interchange with SR 316 (University Parkway). A short distance later, SR 124 splits off to the northeast. From here until SR 211(Old Winder Highway, also about where Braselton Town Limits begin), the road name is changed to Braselton Highway. Northwest of Dacula, it meets SR 324. Farther to the northeast, the highway crosses into Barrow County. After an intersection with SR 211, it enters Jackson County. A few miles later is Braselton. There, it meets SR 53. Between SR 211 and SR 53, the signed direction of the highway changes from north to east (and west to south in the opposite direction) It curves to the southeast to SR 332. The road heads westerly until it meets its northeastern terminus, an intersection with SR 11 in the southwestern part of Jefferson.