A Canadian man punched a cougar in the face to stop it attacking his dog in a wooded area near a fast food store in Whitecourt, central Alberta, the Royal Canadian Mounted Police said on Wednesday.

William Gibb, 31, from Red Deer, Alberta, had stopped at a Tim Hortons outlet, a popular Canadian restaurant chain, while driving 372-miles to Grand Prairie on Monday evening and let his dog out for a walk, Tom Kalis, Whitecourt RCMP Sergeant, said.

Shortly afterwards, Mr Gibb heard his 80-pound female Husky called Sasha whimpering in pain and found a cougar pinning her to the ground.

"I could see something wrapped around her and wasn't sure what it was. I ran over and punched it in what I thought was the head, and it backed off and I realised it was a cougar," Mr Gibb, an electrician, said.

"I stepped over Sasha and charged at it swinging and screaming and calling for my brother and buddy to give a hand," he added.