Sylvan Lake RCMP say it happened on Highway 11 east of Range Road 12 between Sylvan Lake and Red Deer around 6:45 a.m. Friday.
A pickup ran off the road, struck a guardrail, rolled and ended up on its roof, partially submerged in the creek below.
Passersby pulled both occupants from the truck onto dry land and did first aid until emergency personnel arrived.
The 20-year-old male driver from Sylvan Lake was pronounced dead on scene and a 25-year-old woman from Red Deer was taken by ambulance to Red Deer Regional Hospital.
Police did not release the names.