The first NC 28 was an original state highway that traversed from NC 10, in Andrews, through Franklin, Highlands, Rosman, Brevard and Hendersonville, to NC 20, in Bat Cave. In 1923, NC 28 was rerouted west of Franklin on new primary routing to Elf and Hayesville, then replacing NC 109 from Hayesville to NC 10, in Murphy. In 1929, NC 28 was extended west from Murphy along new primary routing to the Tennessee state line. In 1932, NC 28 was extended northeast along new primary routing from Bat Cave to Old Fort, where it overlapped with US 70 to Marion; going north from Marion, in concurrency with US 221, it traversed through Linville, Boone and Jefferson (replacing NC 691 in the process) to US 21/NC 26, in Twin Oaks, reaching its high point at long. Also in 1932, US 64 was assigned along NC 28 from the Tennessee state line to Old Fort. In 1934, all of NC 28 was decommissioned in favor of US 64 and US 221.