«Старий рибалив зовсім один на своєму човні в Гольфстрімі. Ось уже вісімдесят чотири дні він ходив у море і не піймав жодної рибини. Перші сорок днів з ним був хлопець. Але день за днем не приносив улову, і батьки сказали хлопчикові, що старий тепер явно salао, то є самий що ні на є невдачливий, і наказали ходити в море на іншому човні, яка дійсно привезла три хороші риби в перший же тиждень. Хлопчикові важко було дивитися, як старий кожен день повертався ні з чим, і він виходив на берег, щоб допомогти йому віднести снасті або багор, гарпун у обгорнуте навколо щогли вітрило. Парус був весь в латках з мішковини і, згорнутий, нагадував прапор вщент розбитого полку».
Така передісторія подій, які розгортаються в маленькому рибальському селищі на Кубі. Головний герой — старий Сантьяго — «худий, виснажений, потилицю його прорізали глибокі зморшки, а щоки були покриті коричневими плямами нешкідливого шкірного раку, який викликають сонячні промені, відбиті гладдю тропічного моря». Він навчив хлопчика Манолина рибалити. Хлопчик любить старого, хоче йому допомогти. Він готовий наловити йому сардин в якості насадки для його завтрашнього виходу в море. Вони піднімаються до бідній хатині Сантьяго, збудованої з листя королівської пальми. В хатині стіл, стілець, і в земляній підлозі-виїмка для готування їжі. Старий самотній і бідний: його трапеза — миска жовтого рису з рибою. Вони розмовляють з хлопчиком про рибалку, про те, що старому обов’язково повинно пощастити, а також про останні спортивні новини, результати бейсбольних матчів і знаменитих гравців, таких, як Ді Маджіо. Коли старий лягає спати, йому сниться Африка його юності, «довгі золотисті її береги і мілини, високі кручі і велетенські білі гори. Йому не сняться більше ні бійки, ні жінки, ні великі події. Але часто в його снах виникають далекі країни і леви, виходять на берег». На наступний день рано вранці старий відправляється на риболовлю. Хлопчик допомагає йому знести парус, підготувати човен. Старий каже, що на цей раз він «вірить в удачу». Одна за другою рибальські човни відчалюють від берега і йдуть у море. Старий любить море, він думає про нього з ніжністю, як про жінку. Насадивши на гачки приманку, повільно пливе за течією. Подумки спілкується з птахами, рибами. Звик до самотності, вголос розмовляє сам з собою. Він знає різних мешканців океану, їх повадки, у нього до них своє ніжне ставлення. Старий чуйно вловлює, що відбувається в глибині. Один із прутів здригнувся. Волосінь йде вниз, старий відчуває величезну тяжкість, яка тягне її за собою. Розгортається драматичний багатогодинний поєдинок між Сантьяго і величезною рибою. Старий намагається підтягнути линву, але у нього нічого не виходить. Навпаки, вона тягне, як на буксирі, човен за собою. Старий шкодує, що з ним немає хлопчика. Але добре, що риба тягне в бік, а не вниз, на дно. Проходить близько чотирьох годин. Наближається полудень. Так не може тривати вічно, міркує старий, скоро риба помре і тоді її можна буде підтягнути. Але риба виявляється живучою. Ніч. Риба тягне човен все далі від берега. Далеко меркнуть вогні Гавани. Старий втомився, він міцно стискає мотузку, перекинутую через плече. Думка про рибу ні на секунду не покидає його. Іноді йому стає її шкода. «Ну не чудо чи ця риба, один Бог знає, скільки років вона прожила на світі. Ніколи ще мені не траплялася така сильна риба. І подумати тільки, як дивно вона себе веде. Може бути, тому не стрибає, що вже дуже розумна». Подумки розмовляє з рибою. «Я з тобою не розлучуся, поки не помру». Риба починає тягнути не так потужно, вона явно ослабла. Але сили старого закінчується. У нього німіє рука. Нарешті лісу почала йти вгору, і на поверхні показується риба. Вона горить на сонці, голова й спина в неї темно-фіолетові, а замість носа — меч, довгий, як бейсбольна біта. Вона на два фути довше човни. З’явившись на поверхні, вона починає знову йти в глибину, тягнути за собою човен, і старому доводиться мобілізувати всі сили, щоб не дати їй зірватися. Не віруючи в Бога, він читає «Отче наш». «Хоч це несправедливо, але я доведу їй, на що здатна людина і що він може винести». Проходить ще день. Щоб відволіктися, старий згадує про бейсбольних іграх. Згадує, як колись у таверні Касабланки мірявся силою з могутнім негром, найсильнішою людиною в порту, як цілу добу вони просиділи за столом, не опускаючи рук, і як він врешті-решт взяв верх. Він ще не раз брав участь у подібних поєдинках, перемагав, але потім кинув цю справу, вирішивши, що права рука йому потрібна для рибної ловлі. Битва з рибою триває. Він тримає лісі правою рукою, знаючи, що, коли сили вичерпаються, її змінить ліва. Риба виходить на поверхню, то наближається до човна, то відходить від неї. Старий готує гарпун, щоб добити рибу. Але вона відходить убік. Від втоми думки плутаються в голові старого. «Послухай, риба, — каже він їй. — Адже тобі все одно помирати. Навіщо ж тобі треба, щоб я теж помер». Останній акт поєдинку. «Він зібрав весь свій біль, і весь залишок сил, і всю свою давно втрачену гордість і кинув все це проти мук, які терпіла риба, і тоді вона перекинулася і тихенько попливла на боці…». Піднявши гарпун, він щосили встромляє його рибі в бік. Відчуває, як залізо входить їй в м’якоть, і всаджує його все глибше і глибше… Його долають нудота і слабкість, у нього туманиться в голові, але він все-таки підтягує рибу до борту. Прив’язує рибу до човна і починає рух до берега. Подумки прикидає: риба важить не менше півтори тисячі фунтів, які можна продати по тридцять центів за фунт. «Думаю, що великий Ді Маджіо міг би мною пишатися сьогодні». Напрямок вітру вказує йому, в який бік плисти, щоб дістатися до будинку. Проходить час, перш ніж показується перша акула. Відчувши запах крові, вона спрямовується за човном і прив’язаною до неї рибою. Вона наблизилася до корми, вп’ялася в рибу, стала її роздирати. Старий ударив її гарпуном. Вона занурюється на дно, потягнувши з собою гарпун, частина мотузки і величезний шматок риби. «Людина не для того створена, щоб терпіти поразки. Людину можна знищити, але не можна перемогти». Підкріплюється шматком риби. Зауважує плавці цілої зграї акул. Вони наближаються з величезною швидкістю. Старий зустрічає їх, піднявши весло з прив’язаним до нього ножем. Акули накидаються на рибу. Старий вступає з ними в битву. Одну з акул вбиває. Нарешті акули відстали. Їм було вже нічого їсти. Коли він увійшов у бухту, всі спали. Знявши щоглу і зв’язавши парус, він відчув втому. За кормою його човна здіймався величезний хвіст риби. Від неї залишився тільки скелет. На березі хлопчик зустрічає втомленого, плаче старого. Він заспокоює Сантьяго, запевняє, що відтепер вони будуть рибалити разом, бо йому треба ще багато чому навчитися. Він вірить, що принесе йому удачу. Ранок на берег приходять багаті туристи. Вони здивовані, зауваживши довгий білий хребет з величезним хвостом. Офіціант намагається їм пояснити, але вони дуже далекі від розуміння тієї драми, яка тут сталася.