Theresa Weltzin was on a family vacation at a cabin on Greeny Lake, in B.C.’s South Cariboo region, more than 200 kilometres northwest of Kamloops, when she encountered the otter.
During a swim on Aug.1, Weltzin made it halfway across the lake when she spotted an otter coming her way.
"I stop and watch and wonder, and then it goes below surface probably about 10 feet away, and then it bites me and I scream," Weltzin told CBC News.
"I think the first bite was down here on my left calf, because it's the biggest chunk."
The otter bit Weltzin a total of nine times.
"I'm doing water polo backstroke. I'm screaming. I'm calling for my brother-in-law and calling for help and, it keeps biting me," she said.
Family members kayaked to her rescue.
"Whatever they did with the paddles, I didn't look anymore," Weltzin said. "I just grabbed onto the kayak and hoped that the otter would stop."
Weltzin said her brother-in-law, a firefighter, treated her wounds as best he could before rushing her to a doctor in the nearby district of 100 Mile House.
River otters, which can weigh as much as 14 kilograms, can be found in waterways and along the B.C. coast. They are active both in the water and on land, establishing burrows on riverbanks and on shorelines.
The appearance and behaviour of river otters differ greatly from sea otters, which are a popular attraction at the Vancouver Aquarium in Stanley Park. Sea otters are only found in the ocean and are rarely seen on land.
Locals living near Greeny Lake said they’ve never heard of a river otter attacking a swimmer before, adding that most otters swim alongside them.
But there have been river otter attacks reported in other places. Earlier this year, a 96-year-old man was attacked by a river otter in Venice, Fla. And last month, a woman in Montana suffered injuries when a river otter attacked her while she was tubing in a river.
"There was one fleeting thought like, 'Oh my God, you know, am I going down?' kind of thing,’” said Weltzin, who credits her lifeguard training and water polo days for the stamina to keep on swimming during the attack.