Banksia praemorsa is found in scattered colonies along the south coast of Western Australia between Torbay (near Albany) and Cape Riche, where it occurs on the sea-facing side of sand dunes or sand cliffs or hills over limestone; all populations occur within 2 km (1.2 mi) of the coast. The annual rainfall is 800 mm (31.5 in).
