Highway 305 begins at Highway 16 about 5 km southeast of Langham. It takes an eastward route until Dalmeny, where it runs south until it intersects (and begins to run concurrently with Highway 784). Highway 305 then goes east again, passing Highway 684 and Highway 12, until the town of Warman. It then goes northward (as 3rd Avenue North), no longer concurrent with Highway 784, until it ends at Neuhorst Road (Township Road 400) near Neuhorst.
Originally, Highway 305 ended at Highway 11 just east of Warman, but the routing was changed in the 2000s.
There are plans to realign the Highway 305 to have the eastern terminus to be north of the Town of Warman.