For 84 days, the old fisherman Santiago has caught nothing. Alone, impoverished, and facing his own mortality, Santiago is now considered unlucky. So Manolin (Santiago's fishing partner until recently and the young man Santiago has taught since the age of five) has been constrained by his parents to fish in another, more productive boat. Every evening, though, when Santiago again returns empty-handed, Manolin helps carry home the old man's equipment, keeps him company, and brings him food.
On the morning of the 85th day, Santiago sets out before dawn on a three-day odyssey that takes him far out to sea. In search of an epic catch, he eventually does snag a marlin of epic proportions, enduring tremendous hardship to land the great fish. He straps the marlin along the length of his skiff and heads for home, hardly believing his own victory. Within an hour, a mako shark attacks the marlin, tearing away a great hunk of its flesh and mutilating Santiago's prize. Santiago fights the mako, enduring great suffering, and eventually kills it with his harpoon, which he loses in the struggle.
The great tear in the marlin's flesh releases the fish's blood and scent into the water, attracting packs of shovel-nosed sharks. With whatever equipment remains on board, Santiago repeatedly fights off the packs of these scavengers, enduring exhaustion and great physical pain, even tearing something in his chest. Eventually, the sharks pick the marlin clean. Defeated, Santiago reaches shore and beaches the skiff. Alone in the dark, he looks back at the marlin's skeleton in the reflection from a street light and then stumbles home to his shack, falling face down onto his cot in exhaustion.
The next morning, Manolin finds Santiago in his hut and cries over the old man's injuries. Manolin fetches coffee and hears from the other fisherman what he had already seen — that the marlin's skeleton lashed to the skiff is eighteen feet long, the greatest fish the village has known. Manolin sits with Santiago until he awakes and then gives the old man some coffee. The old man tells Manolin that he was beaten. But Manolin reassures him that the great fish didn't beat him and that they will fish together again, that luck doesn't matter, and that the old man still has much to teach him.
That afternoon, some tourists see the marlin's skeleton waiting to go out with the tide and ask a waiter what it is. Trying to explain what happened to the marlin, the waiter replies, "Eshark." But the tourists misunderstand and assume that's what the skeleton is.
Back in his shack, with Manolin sitting beside him, Santiago sleeps again and dreams of the young lions he had seen along the coast of Africa when he was a young man.