Flames broke out at about 7 a.m. at the Pender Harbour Hotel and Grasshopper Pub, in the 12600 block of Highway 101 at Madiera Park.
Witnesses estimate at least half the building has been damaged but it's believed no one is hurt.
Fire crews from nearby Pender Harbour and from Sechelt, 32 kilometres south, battled the blaze, which cut travel on Highway 101 for more than an hour.
By 9 a.m. some traffic was being allowed past the scene.
A cause of the fire has not been determined. (CKAY)