The shark appeared to be a juvenile three-metre great white.
Mr Walsh said the shark came straight up out of the depths and took his friend out of the water. "By the time I looked back and saw that, Kevin was already under the water," he said.
"It got him on his thigh. It pinned him to the board as it took him down.
"He said all he remembers is the impact and then being under the water."
Following the attack, Mr Walsh said his friend "sprint paddled" back to shore. "We were about 200 metres off the beach. He had a full adrenaline rush and sprinted to the beach. I was behind him, but I couldn't keep up."
Mr Swanson used his surfboard's leg rope as a tourniquet to stem the blood loss. Fortunately a doctor was walking along the beach at the time and was able to assess Mr Swanson's bite wound on the beach.
"She decided that there didn't appear to be any major bleeding from arteries or anything, so that allowed us to realise the situation and know that he wasn't going to bleed out right then and there.
Mr Swanson was then flown by helicopter to hospital, where he is expected to have a full recovery. "It's going to be a while, but [he's] really really blessed....It could have easily been so much worse."
Mr Walsh, a director of a Californian produce company, said he had been living in America since he arrived as a 24-year-old in 1986.
"I originally grew up in Papatoetoe, I went De La Salle College, in Mangere East so I'm a South Auckland boy."
He said the attack hadn't put him off surfing. "I've been surfing a long time, I'll be interested to see how I feel going out, but of course I will go out.
"It's a big motivation for me and many life decisions have been based around surfing so it's always going to be a part [of my life], that's for sure, although maybe I'll be mountain biking for the next couple of days."
Spear gun used to fend off shark
Meanwhile, in West Australia, a teenager fired a spear gun into the mouth of a shark that killed his friend to save himself.
Jay Muscat, 17, died when a suspected white pointer attacked him at Cheynes Beach, near Albany on Monday.
The shark then reportedly turned on his friend, Matt Pullella, but he was able to shoot the shark in the mouth with his spear gun.
Mr Pullella paid tribute to his mate in a Facebook message posted just hours after the fatal encounter.
"The shark hit me first then attacked Jay," he wrote.
"The shark turned and came for me, I pushed the spear gun down its throat and fired the gun."
Albany mayor Dennis Wellington told AAP Mr Muscat was attacked about 40 metres off shore at a popular spear fishing site.
Local spearfisherman Leon Durrant told ABC radio Mr Muscat was a great larrikin who loved his diving.
He said the teenager was one of the new generation of up and coming divers and was both competent and comfortable in the water.
"He made an effort to get there and was always by my side," Mr Durrant said.
Cheynes Beach remained closed on Tuesday as the Fisheries Department deployed drumlines in the area to catch any shark larger than three metres as part of the state's imminent threat policy.
Fisheries spokesman Rick Fletcher told ABC radio that because Mr Muscat was attacked by a large shark it was likely it would be disposed of if caught, even though in most cases sharks responsible for attacks can't be identified.
"Obviously if we find a shark with a spear in it that's clear cut but that's probably unlikely," Mr Fletcher said.
A caravan park worker told AAP that, with the exception of bronze whalers, sharks aren't commonly seen in the area.
It is peak season for the holiday park, which is now full.
If the state coroner confirms the 17-year-old's death as a shark attack, it will be the eighth fatality in the past five years and the first for 2014 in WA.
In October, 23-year-old surfer Sean Pollard lost an arm and his other hand in an attack at Kelpids Beach near Esperance.
Two sharks were caught and killed when drumlines were deployed off that beach after that incident.
- additional reporting AAP