Santiago wypływa samotnie przed świtem. Początkowo towarzyszą mu łodzie innych rybaków, ale starzec oddala się i powoli wypływa na pełne morze. Bohater zastanawia się nad tym, dlaczego to jego prześladuje pech. Ma nadzieję, że tym razem uda mu się coś złowić. Marzy o wielkiej rybie, która przyniesie mu pożywienie i sławę. Rybak uważnie obserwuje otaczające go morze, kocha je i uważa za równorzędnego przeciwnika. Zauważa płynące delfiny, morskie żółwie i ptaki krążące nad ławicami ryb. Starzec łowi dużego tuńczyka, zakłada przynętę i wkrótce dostrzega drganie linki wędki.
Ryba, która wzięła przynętę to duży marlin. Starzec poznaje wielkość i ciężar ryby w momencie, gdy ta zaczyna holować jego łódź. Santiago jest zbyt słaby by zatrzymać zdobycz, musi pozwolić rybie płynąć. Ma nadzieję, że zmęczony marlin wkrótce wypłynie na powierzchnię. Niestety zdobycz okazuje się wyjątkowo silna. Nadchodzi noc, a ryba nadal płynie. Santiago wie, że jego łódź cały czas oddala się od wybrzeża Kuby. Jest coraz bardziej zmęczony i żałuje, że nie wziął ze sobą do pomocy Manolina. Ryba nagle szarpie linką, bohater traci równowagę i rozcina sobie skórę pod okiem. Podróż trwa kolejny dzień i noc. Santiago wie, że czeka go niezwykle ciężki pojedynek. Aby się wzmocnić zjada złowionego wcześniej tuńczyka. Czuje, że dłonie (w których cały czas trzyma linkę) zaczynają się kurczyć. Doskwiera mu uporczywy ból, zmęczenie i rosnąca senność. Rybak wspomina dawne chwile chwały, gdy jako młody żeglarz stoczył w Casablance wielogodzinny pojedynek siłowy z murzyńskim siłaczem.
W trzeciej dobie od wyruszenia na morze rybaka, marlin powoli zaczyna wypływać. Santiago wstaje i skupia się na obserwacji zachowania ryby, która zatacza szerokie kręgi wokół łodzi. Rybak zbiera siły i walczy ze zmęczeniem. Gdy marlin wypływa staruszek bierze do ręki harpun i uderza ją w serce. Ogromną radość przyćmiewa zmęczenie odbierające przytomność. Rybak z wielkim trudem przymocowuje gigantyczną zdobycz do łodzi. Marlin ma około pięciu metrów długości i jest bardzo ciężki.
Po złowieniu swojej „życiowej zdobyczy” Santiago wie, że pozostało mu jeszcze jedno, trudne zadanie – doholowanie marlina w całości do brzegu. Gdy wydaje się, że już wszystkie przeszkody zostały pokonane do łodzi podpływa ogromny rekin żarłacz i nadgryza wielką rybę. Santiago zabija go, ale wie, że krew i zapach marlina zwabi inne drapieżniki. Zrozpaczony rybak jest gotów walczyć o swą zdobycz aż do kresu wyczerpania. Wkrótce, zgodnie z przewidywaniami pojawiają się kolejne rekiny. Santiago z zapałem broni marlina, tracąc przy tym harpun i linkę. Gdy pozostaje zupełnie bez broni, zrezygnowany pada na dno łodzi. Rybak powraca do portu ze szkieletem ogromnej zdobyczy. Jest tak zmęczony, że po drodze do swojej chatki kilkakrotnie upada.
Rankiem rybacy ze zdumieniem podziwiają gigantyczny szkielet, domyślają się, że ryba został pożarta przez rekiny. Manolin odwiedza swego przyjaciela i pociesza go, obiecując pomoc w kolejnych połowach. Santiago usypia i śni o lwach, które niegdyś widział u wybrzeży Afryki.