The rescue operation was launched near Nairn after a member of the public heard a man shouting for help from the water at around 8.20pm on Monday.
The member of the public called the police, who then alerted the coastguard.
Following the cries for help, a coastguard helicopter went to the scene off Nairn.
The helicopter was accompanied by Kessock RNLI inshore lifeboat, Moray inshore rescue boat – which is independent.
Coastguard teams from Inverness and Nairn attended.
The swimmer was winched into the helicopter and flown to Raigmore Hospital, Inverness.
He got into difficulty after being caught out by the tide and was said to be ‘severely hypothermic’ when rescued.
He had been in the water for around two hours.
A spokesperson from RNLI Kessock lifeboat said: “The crew at Kessock convey their best wishes for a recovery to the casualty.”