Старица Сантиаго живи у малом рибарском селу на Куби и све самостално лови. Последњи пут је провео 84 дана на мору, али ништа није уловио. Раније је један дечак Манолин риболовао са њим, који је старцу много помогао, али дечакови родитељи су одлучили да Сантијаго нема среће и рекли сину да иде на море другим чамцем.
Стари је научио Манолин да пеца рибу, а дечак воли Сантијаго, жели да му помогне. Купује му сардине за мамац, доноси храну у своју колибу. Стари се већ дуго помирио са својим сиромаштвом.
Био је сувише простодушан да би могао размишљати о томе када га је стигла понизност. Али знао је да је понизност дошла без срамоте или губитка људског достојанства.
Са дечаком разговарају о риболову и познатим бејзбол играчима. Ноћу, старац сања о Африци у младости и "лавовима који одлазе на обалу."
Рано следећег јутра, старац одлази у риболов. Дјечак му помаже да носи једро, припреми чамац. Старац каже да овај пут „верује у срећу“.
Једни за другим, рибарски бродови испловљавају с обале и одлазе у море. Старица воли море, он то мисли са нежношћу, као жену. Закачио је мамац, Сантиаго полако плива уз ток, умно комуницирајући са птицама и рибама. Навикнут на самоћу, старац прича наглас са собом.
Пре је, сам, певао; понекад је певао и ноћу, на стражи, док је ходао на великим једрилицама или ловио корњаче.
Стари познаје различите становнике океана и према њима се односи врло нежно.
Прво, Сантиаго ухвати мало туњевине. Нада се да поред јата туне стоји велика риба која воли своје сарделе. Убрзо, старац примети лагано дрхтање флексибилне зелене шипке, која замењује његову штап. Риболов се спушта, а старац осећа огромну тежину угриза рибе.
Старац покушава да подигне дебелу риболовну линију, али не успева - велика и јака риба повуче лагани брод са собом. Стари се жали што са њим нема дечака - могао је да уклони мамац са других штапова док се Сантиаго бори против рибе.
То траје око четири сата. Ближи се вече. Стареве руке су разведене, он баца риболов на леђа и ставља врећу испод њега. Сада се Сантиаго може наслонити на бок и мало се опустити.
Немогуће је да човек у старости остане сам ... Међутим, то је неизбежно.
Ноћ. Риба брод вуче даље од обале. Стари је уморан, али помисао на рибу не оставља га ни секунду. Понекад му је жао - риба, тако велика, јака и стара, мора умрети да би могла да живи даље. Сантиаго говори рибама: "Нећу се растати с тобом док не умрем."
Снага старца понестаје, а риба се неће уморити. Сантиаго једе туну у зору - нема другу храну. Старчеви грчеви на левој руци. Стари се нада да ће се риба појавити, а онда ће је моћи убити харпуном. Коначно, шума се диже и на површини се појављује риба. Она гори на сунцу, глава и леђа су тамно љубичасте боје, а уместо носа је мач, дугачак као палица за бејзбол. Дуга је два метра од чамца.
Сам, на отвореном мору, био је чврсто везан за тако велику рибу какву никада није видео, за коју никада није ни чуо.
Појављујући се на површини, риба поново одлази у дубину, повлачи чамац, а старац скупља снагу да га држи. Не верујући у Бога, чита нашег Оца.
Пролази још један дан. Да би се одвратио од себе, старац се сећа бејзбол утакмица. Сећа се како је једном одмерио снагу у кафани у Казабланки са моћним црнцем, најјачим мушкарцем у луци, како су цео дан седели за столом, не губећи руке, и како се коначно савладао од њега. Више пута је учествовао у сличним борбама, победио, али потом бацио ову ствар, одлучивши да му је потребна права рука за риболов.
Битка са рибама се наставља. Сантијаго десном руком држи шуму знајући да ће је, кад снаге нестану, лева заменити, грч у коме је већ одавно прошао. Скуша скупа наилази на малу штап за пецање. Старац јача снагом, мада је ова риба потпуно укусна. Жао му је велике рибе која нема шта да једе, али одлучност да је убије не би се смањила.
То је тако добро да не морамо да убијамо сунце, месец и звезде. Довољно је да извучемо храну из мора и убијемо своју браћу.
Ноћу риба излази на површину и почиње ходати у круговима, или се приближава чамцу или се удаљава од ње. То је знак да је риба уморна. Старац припрема харпуно да заврши рибу. Али она одступи. Од умора мисли се збуне у старчевој глави, а пред очима му плешу црне тачке. Сантиаго скупља преосталу снагу и гурка харпун рибама у страну.
А онда је риба заживела, мада је већ донијела смрт у себи - уздизала се високо над водом, као да се хвали својом огромном дужином и ширином, свом лепотом и снагом.
Превладавајући мучнину и слабост, старац везује рибу уз бок чамца и окреће се према обали. Правац ветра говори му који пут да плива да би стигао до куће.
Пролази сат времена пре него што се покаже прва ајкула, која је упловила због мириса крви. Прилази крми и почиње рибати рибу зубима. Старац ју удари харпуном у најосјетљивије мјесто на лобањи. Она тоне на дно, вукући харпун, део конопа и огроман комад рибе
Сантиаго убија још две ајкуле ножем везаном за весло. Ове ајкуле узимају са собом најмање четвртину рибе. На четвртом морском псу нож се сломи, а старац извади јак клуб.
Знао је да сваки притисак морског пса на чамац значи комад разрушеног меса и да је риба сада оставила траг на мору, широком као аутопут, и доступна свим морским псима на свету.
Следећа група морских паса напада чамац пре заласка сунца. Старац их отјера ударцима палицама по глави, али ноћу се враћају. Сантјаго се бори против грабежљиваца најпре палицом, а затим оштрим фрагмером убода. Коначно, морски пси пливају: они више немају шта да једу.
Старац улази у залив у својој колиби касно у ноћ. Скинувши јарбол и везао једро, он лута ка кући, осећајући невероватан умор. На тренутак се старац окрене и угледа огроман реп рибе и одраз белог гребена иза крме свог чамца.
Дечак долази у старчеву кабину. Сантиаго спава. Дечак плаче када види рањене дланове. Доноси старцу кафу, смирује га и уверава нас да ће одсад заједно пецати, јер има још много тога за научити. Верује да ће старом човеку донети срећу.
Ујутро су риболовци задивљени остацима џиновске рибе. На обалу долазе богати туристи. Изненађени су када примете дугачку белу кичму са огромним репом. Конобар покушава да им каже шта се догодило, али они ништа не разумеју - предалеко су од овог живота.
А старац спава у овом тренутку и сања лавове.