Akcja dzieje się na Kubie w XX wieku, w małej wioseczce Golfstrom. Starzec imieniem Santiago nie złowił nic od osiemdziesięciu czterech dni. Dotychczas podczas połowów towarzyszył mu chłopiec, Manolin. Niestety pewnego dnia rodzice Manolina nie pozwolili mu więcej wypływać ze starcem, określając go mianem "salao", czyli pechowcem. Niektórzy nawet kpili ze starca ale Manolin powtarzał rybakowi, że nieraz już tak bywało po czym los się odwracał.
Santiago i Manolin rozmawiają o dawnych czasach, gdy starzec uczył chłopca łowienia ryb i o baseballu, który jest ich ulubionym sportem. W nocy Santiago śni o swoich ulubionych miejscach - Afryce i Wyspach Kanaryjskich. Santiago był chudy lecz z dobrze zarysowaną, umięśnioną sylwetką. Na szyi miał bruzdy, ręce obolałe, żylaste. Jedyną jego młodą stroną były jasne oczy, barwy morskiej, wesołe i niezłomne.
W nocy budzi go Manolin, by wypłynął na połów. Podczas gdy inni rybacy pozostają w zatoce, Santiago wypływa na otwarte morze na połów. Podczas rejsu obserwuje ryby i rozmyśla o ciężkim życiu ptaków i o oceanie, który traktuje jak ukochaną kobietę. W południe zarzuca przynęty, przygląda się ptakom i delfinom. Przeklina meduzy, których nienawidzi z powodu ran na rękach. Rozmawia sam ze sobą. Nagle dostrzega ławicę tuńczyków i łapie je na przynętę przeznaczoną dla większych ryb.
W pewnej chwili pojawia się czterometrowy marlin, który łapie się na przynętę. Rybakowi nie udaje się go wyciągnąć a ryba zaczyna ciągnąć jego łódź. Walczy z nim parę dni. W końcu zmęczona ryba daje za wygraną i starcowi udaje się pokonać marlina, przebić jego serce harpunem i przywiązać go do łodzi. Santiago mdleje z wycieńczenia. Gdy starzec odzyskuje świadomość ryba jest już martwa. Obiera kurs powrotny. Niestety krew ryby zwabia rekiny, które zaczynają ją zjadać. Santiago sam musi sobie z nimi radzić a podczas walki z drapieżnikami traci swój harpun i nóż. Podczas walki z rekinami mówi do siebie i żałuje że Manolin nie mógł z nim wypłynąć. Niestety rekiny wygrywają walkę a z pięknej i okazałej ryby zostaje tylko głowa i szkielet.
Santiago dopływa do brzegu wycieńczony, płacze ze złości. Wyciąga szkielet ryby na brzeg i zapada w sen. Wracając do domu cieszy się jednak, że jego łódź nie została uszkodzona. Następnego dnia rano wraz z Manolinem planują kolejne połowy, choć starzec jest jeszcze zbyt zmęczony by od razu wypłynąć. Na plażę przybywają mieszkańcy wioski i turyści i podziwiają wielką rybę.