An Alberta man says he fought off a cougar that was attacking his dog by punching the big cat in the head.

William Gibb says he stopped at a Tim Hortons in Whitecourt, northwest of Edmonton, on Boxing Day.

He let his two dogs out for a bathroom break near a wooded area, then heard one of them crying in pain.

Gibb says he ran to see what was wrong and found the cougar on top of his husky, Sasha, so he bashed it with his fist.

The cougar jumped off and Gibb took the dog to a veterinarian, who stitched up her cuts and puncture wounds.

RCMP say they found the cougar in the trees near the restaurant and, because it was ready to pounce on officers, they shot and killed the animal.