Highway 19's northern end is at an intersection with Market Street in the small community of Port Hardy. The highway then proceeds in a southwest arc through the town centre, then goes southeast through a junction with the B.C. Ferry terminal at Bear Cove, and a junction with Port McNeill. The highway then winds its way past Nimpkish Lake, then through a 163 km long stretch of dense forest terrain, through the community of Woss and a junction with Sayward, finally entering the city of Campbell River at a junction with highways 28 and 19A, just past the river that the city is named for.
The entire stretch of highway 19 north of Campbell River is an undivided two-lane configuration. Once at the junction with highways 28 and 19A, highway 19 separates into an expressway configuration, built between 1996 and 2001. In Campbell River, the expressway shares its northbound lanes with Tamarac Street in Campbell River, and its southbound lanes with Willow Street. The entire stretch of Highway 19 between Campbell River and the city of Parksville is a divided four-lane highway, with a nominal speed limit of 110 kilometres per hour, and is referred to as the "Inland Island Highway".
South from Campbell River, highway 19 is divided primarily by a concrete wall, and goes through a series of five at-grade intersections. 52 km south of Campbell River, highway 19 reaches its first interchange, with a four-lane arterial highway that goes west to the village of Cumberland and east to the communities of Courtenay and Comox. Past the Courtenay Interchange, highway 19 is divided by a grass median. 16 km later, highway 19 reaches another interchange, this time with a two-lane road that goes a short distance east to the B.C. Ferry terminal at Buckley Bay. There are two more at-grade intersections on highway 19 in the 41 km between the Buckley Bay Interchange and the interchange with highway 4, which goes east into Qualicum Beach. 9 km later, highway 19 goes through another interchange, this time with highway 4A, which goes east into Parksville. The next interchange, at Craig's Crossing, is another 5 km south.
Past the Craig's Crossing Interchange, highway 19 resumes its 1953 alignment, which today is four lanes, divided by a concrete wall. The highway passes through the communities of Nanoose Bay and Lantzville before finally entering the north part of Nanaimo. Highway 19 then veers southwest onto a new 20 km long four-lane expressway known as the "Nanaimo Parkway", which has five at-grade intersections along its length. At the junction with Cedar Road, highway 19 proceeds to share an alignment with the Trans-Canada Highway for 2 km before turning eastward at another interchange. Highway 19 then crosses over the Nanaimo River 2 km later, and then goes northward for 7 km, finally terminating at the B.C. Ferry terminal at Duke Point.