Adam Pettitt was on the beach near Caerddaniel Holiday Park in Barmouth with his wife Cheryl, 40, and three-year-old son Oscar when he saw it happen.
"There were two people out on inflatable rubber rings, a mother and son," said the 38-year-old, from Aqueduct, Telford.
"Her son, who looked about 15, started waving his hands about and shouting for help.
"The sea was really rough.
"My son was with me so I got a woman to take him back to my wife, and then my gut reaction was to jump in."
Emergency services were called by an onlooker as Adam swam to the woman's aid.
"She was about 25 yards out," he said.
"The waves were huge and there was a strong undercurrent.
"When I got up to her and grabbed hold of her she almost had no energy whatsoever. She was exhausted."
Adam carried her back to shore and was followed by the woman's son.
A worker from Caerddaniel Holiday Park, who was also a community first responder, came to her aid.
Father-of-one Adam, who works as a brand designer, said: "He came down and gave her oxygen and took her stats.
"We gave her water and wrapped her up in towels, making sure she was warm. She also had a silver sheet around her.
"The first thing she said was 'one more wave and I was a gonner'.
"The ambulance came and they were trying to get her warm.
"She didn't have to go to hospital, she seemed okay but felt sick.
"I've seen her since. I'm just glad she is okay."
The drama unfolded on Monday afternoon near Caerddaniel Holiday Park, which overlooks Cardigan Bay.
Although Barmouth lifeboat was tasked to help, the crew were stood down as Adam had already managed to rescue the woman.
Holyhead Coastguard said there was a westerly wind and the woman may have been swept out by a rip-tide.
A coastguard rescue team were sent to the scene and gave the woman first aid after she ingested a lot of seawater.