Granite Lake is a small lake in the Pacific Ranges of the Coast Mountains in southwestern British Columbia, Canada. It is located east-northeast of the city of Powell River in New Westminster Land District. It lies west of the south end of Horseshoe Lake.