After passing Marblemount, the highway enters North Cascades National Park and Whatcom County. It heads further northeast through Newhalem, a preserved company town for Seattle City Light, and the narrow Diablo Canyon to the Diablo Dam and Diablo Lake, a reservoir that is colored turquoise blue. The roadway makes a long hairpin turn around the southern arm of the lake, crossing it at a narrow point and passing a scenic viewpoint, and continues northeast to Ross Lake. From Ross Lake, SR 20 follows Ruby Creek and Canyon Creek, heading southeast out of the national park and back into Skagit County. The highway crosses Rainy Pass and briefly joins the Pacific Crest Trail as it travels around Whistler Mountain, climbing up into Chelan County. SR 20 turns north and crosses Washington Pass into Okanogan County, making a hairpin turn and beginning its descent into Eastern Washington.