Frodeno completed the 3.8 km swim, 180 km cycle and 42.2 km run in eight hours, six minutes and 30 seconds in Kailua-Kona, the fourth fastest time recorded at the event.
Compatriot Sebastian Kienle, the 2014 champion, took second place in 8:10.02, with fast-finishing Patrick Lange claiming third in 8:11.14 thanks to a course record in the marathon run.
It is the third consecutive victory by a German in the event and second sweep by the country after Thomas Hellriegel, Jurgen Zack and Lothar Leder finished 1-2-3 in 1997.
"I can't remember when I last suffered so much," Frodeno said.
Last year, he set up his victory by taking a big lead on the bike leg, but he used a different method to win on Saturday.
The leading seven men finished the bike leg almost locked together, before Frodeno broke away during the run.
The 35-year-old, who won the 2008 Olympic triathlon, slowed to a walk just before the finish line to savour the moment, before breaking the tape in front of a large, enthusiastic crowd.
Ryf, meanwhile, won the women's race by more than 23 minutes. She finished in 8:46.46, smashing the previous course record of 8:52.14.
"That was my best race ever," Ryf said.
Australian three-time champion Mirinda Carfrae, the previous course record holder, finished a distant second.
(Reporting by Andrew Both in Cary, North Carolina; Editing by Greg Stutchbury)
