The 29-year-old was rescued by military vessel "Braunschweig" on the Baltic Sea, the German Maritime Search and Rescue Service said on Tuesday.
A nautical science student in Rostock, the 29-year-old had set out on Sunday for a fishing trip in his 3-metre long boat.
But at sea, the outboard engine lost its propellor, and the boat was battered off course by the wind.
With an empty phone battery, the man was unable to call for aid – and was forced to sit helplessly through a night of icy winds and temperatures of 2C while the boat drifted 30 kilometres.
The student had been stranded for 27 hours by the time personnel aboard the "Braunschweig" spotted his boat by chance.
By this time, his was drifting around nine kilometres off the Baltic coast.
The man was taken to hospital with suspected hypothermia. But after a short medical examination, he is now recovering at home.