Originally a logging road that connected to Highway 19, a few kilometres west of Campbell River, the road split, one alignment going south into Strathcona Park, and the other going west to Gold River, which looped north of Upper Campbell Lake. By 1970 a paved Highway was built over most of the logging road. Abandoning the west logging road, the new highway continued south, reaching the south end of Upper Campbell Lake. A bridge was built over the river between Buttle Lake and Upper Campbell Lake and a stretch of highway was added to where the west logging road connected. The rest of the road that lead to Gold River was subsequently paved. The access to Port Hardy, however, was left unchanged until 1976 when Highway 19 was extended north.
Highway 28's total length is 99 km (62 mi). Starting in Gold River at the shore of Muchalat Inlet, Highway 28 goes northeast for 24 km (15 mi) before entering Strathcona Provincial Park. The highway winds its way east through the park for 17 km (11 mi), then hugs Upper Campbell Lake for another 11 km (7 mi) to its junction with the road to Westmin Mines. 37 km later (23 mi), the highway enters the city limits of Campbell River, finally terminating 10 km (6 mi) later at a junction with Highways 19 and 19A, in the northern part of the city.