(CNN) The two sailors had been stranded on their boat for nearly three weeks. They were adrift and out of fuel, low on fresh water, and surviving off what fish they managed to catch.

Hoping for an early Christmas miracle.

Their salvation came on Friday in an unexpected form: a massive cruise ship with 11 decks, a dining room, cafe, and specialty grille, four bars, a "vitality spa," and a rock-climbing wall to boot.

The Royal Caribbean's Empress of the Seas cruise ship discovered the two stranded mariners in a small fishing vessel Friday night halfway between Grand Cayman and Jamaica, spokesman Ted Miller told CNN.

The chance encounter was only possible because the cruise ship had been rerouted from Cienfuegos, Cuba to Ocho Rios, Jamaica due to inclement weather, he said.

Read More