The man aged in his 60s failed to resurface after swimming out to help two children on kayaks at Tinaroo Dam in Yungaburra, about 70km south west of Cairns.
The children made it safely to shore.
The man's body was located after a search involving water police, a rescue helicopter, swift-water crews and officers on foot.
Support services have been offered to the man's family, say police, who will prepare a report for the coroner.
In a separate incident, also on Sunday in north Queensland, two people died when they were swept out to sea at Round Hill Head in Seventeen Seventy, sparking a major emergency service response that included a helicopter.
A 46-year-old man and a 17-year-old boy from the UK were retrieved from the water but declared dead, police said.Â
The third person, a 37-year-old man from Monto, was rescued and airlifted to Bundaberg Hospital for treatment.
"Sunday's mission was a difficult one," helicopter service CapRescue said on social media.
"Despite the best efforts of all involved, two people tragically lost their lives.
"Our thoughts are with everyone affected by this heartbreaking incident."
The two deaths are not considered suspicious.