On the coast of Cuba near Havana, an old widowed fisherman named Santiago has been unable to catch a fish for 84 days. His apprentice, Manolin, has been forced by his parents to seek another "luckier" employer, although Manolin continues to help Santiago launch and retrieve his boat from the ocean each day. Manolin cares for the aging Santiago, bringing him food and clothing, and in return Santiago tells Manolin stories about baseball legends and his younger days fishing in a boat off of Africa. Every night, Santiago dreams of lions on the beaches of Africa. Early each morning, Santiago walks up the road to Manolin's family's home to wake him up for work.
On the morning of the 85th day, Manolin helps Santiago launch his boat into the sea. Santiago rows over the deep well where he has been trying to catch fish for the past week and decides to try his luck farther out. Finally, in the early afternoon, he catches a ten-pound tuna, which he decides will be his meal for the day. Not long afterward, Santiago feels a hard pull on his line and realizes that a huge marlin has caught his hook.
Because the marlin is so big, however, Santiago cannot pull it in. The marlin pulls Santiago's skiff farther and farther from land. As the sun goes down, Santiago begins to feel a kind of companionship with the marlin. He pities the fish, even loves it, but is still determined to kill it. He decides to cut all his other lines so that nothing will interfere with his great catch.
As the sun comes up on Santiago's second day at sea, the marlin suddenly surges, pulling the line and cutting Santiago's hand. As he nurses his hand, the marlin jumps up out of the water, and Santiago can see the fish is bigger than any marlin he has ever seen, much less caught on his own. He has to hold onto the line with all his might so that the marlin does not break free from the boat. He prays that he will be able to kill the marlin, and wonders what his hero Joe DiMaggio would do if he were in Santiago's situation.
As it grows dark on Santiago's second day at sea, he lets out a small line and catches a dolphin to eat. He rests for a few hours, but is woken by the marlin jumping frantically. Santiago continues holding the line, although it has been cutting into his hand for some time. The marlin tires and begins circling the boat as Santiago grows weaker from lack of sleep and exhaustion. Finally, Santiago uses all his strength to harpoon and kill the marlin.
Santiago ties the marlin to the side of his boat and begins sailing back toward Cuba. During the homeward journey, however—his third day at sea—sharks attack the boat, tearing the flesh from the marlin. Santiago fights desperately, killing or driving off most of the sharks, but eventually the sharks eat all the flesh off the marlin. When Santiago pulls into the harbor, everyone is sleeping, and Santiago struggles to carry his mast back to his shack, leaving the marlin's skeleton still tied to his boat in the harbor.
The next day, Manolin finds Santiago asleep in his shack. Manolin is overjoyed to see him but cries when he sees the cuts in Santiago's hands. He brings Santiago coffee, passing the crowd of fisherman who are marveling at the marlin's giant skeleton. When Santiago wakes up, Manolin tells him he doesn't care what his parents say—he's going to start fishing with Santiago again. Meanwhile, as a party of tourists watches the marlin's skeleton and mistakes it for a shark, Santiago drifts back to sleep under Manolin's watchful gaze and dreams of lions.