本书写的是一个叫圣地亚哥的老人,在连续84天钓不到鱼后,仍旧坚信自己可以钓到鱼,最后他带着自己的信念出海,耗费数日,几近死亡,终于成功捕到大鱼的故事,主人公圣地亚哥年迈,孤独,凄苦,却不乏斗志和信念,他信奉的是人可以被毁灭,但是不能被打败,但在本书的结尾,圣地亚哥开始觉得自己老了,被打败了,不知算不算一种讽刺。
圣地亚哥的身边总跟着一个叫马诺林的小男孩,这个自五岁起就跟着圣地亚哥的小男孩很崇拜圣地亚哥,相信他的捕鱼能力,坚信他会捕到大鱼,同时他也很可怜圣地亚哥,在圣地亚哥贫穷艰难的岁月里,这个小男孩总是默默地接济着他,两人很默契,仿佛忘年交。
圣地亚哥的一生就像海明威的一生,是不可模仿的一生。
圣地亚哥是一个老人,孑然一身,消瘦而憔悴,已在墨西哥湾流中钓了84天鱼,但一无所获。在最初的四十天,有一个马诺林跟着他,因为一直钓不到鱼,马诺林在父母的安排下跟了另一条船,后来他多次想和圣地亚哥一起出海被拒绝。但是马诺林还是惦记着圣地亚哥,在他出海回来时会帮忙收拾东西。
人们在露天酒吧里拿圣地亚哥寻开心,但马诺林和圣地亚哥不在乎,这时有所收获的渔夫回来了,正在忙碌地将马林鱼装上冷藏车送往哈瓦那的市场,将鲨鱼送到海湾对面的鲨鱼工厂。
圣地亚哥计划次日出海,马诺林给他找来新鲜的鱼饵,圣地亚哥有点遗憾不能带他出海。晚上,圣地亚哥骗马诺林家里有黄米饭炖鱼,马诺林骗圣地亚哥将带走抛网去换钱,两人都很默契地欺骗对方。因为坚信自己次日会钓到大马林鱼,就像相信洋基棒球队不会输一样,圣地亚哥和马诺林决定买一张尾数85的彩票。
马诺林在给圣地亚哥送晚饭的时候担心圣地亚哥没有过冬的衣物,他总为圣地亚哥着想。晚上圣地亚哥梦到了孩提时的自己,醒时已是黎明时分便叫醒马诺林,一起准备出海的东西。
圣地亚哥在喝完咖啡后就出海了。
划着小船向前航行的第一天,圣地亚哥通过军舰鸟发现了鲯鳅,鲯鳅追着飞鱼,圣地亚哥追着鲯鳅,于是他来到了一片广阔的海域。为了钓到大鱼,他将刚钓的一条十磅重的长鳍金枪鱼做了鱼饵,很快一条大马林鱼上钩了。
为了身体强壮,圣地亚哥整个五月都在吃海龟蛋和鱼肝油,这时候派上了用场。开始的时候,他被巨大的马林鱼拖着游了四个小时,圣地亚哥在喝水的时候发现自己已经远离陆地,却丝毫不惧,在太阳下山后为了保持体力他吃掉了尚未腐烂的金枪鱼。
他时刻准备和大马林鱼斗智斗勇。大马林鱼很聪明,不愿跳出海面,这让圣地亚哥想起自己曾经和马诺林一起钓到的那条母马林鱼,当时公马林鱼徘徊在船边让二人有点内疚。就这样,大马林鱼拖着圣地亚哥的小船游了一夜。
在第二天天亮之前,圣地亚哥加固了鱼线,大马林鱼的突袭让圣地亚哥跌倒并受伤,于是他不得不把鱼线放在肩上,感受大马林鱼的拉力。天亮的时候,圣地亚哥开始引诱大马林鱼跳出水面,但大马林鱼突然一个顿挫,将圣地亚哥的手掌勒出血,他又将鱼线挪到另一个肩膀。
要钓大鱼体力很重要,圣地亚哥跪在船边浸泡受伤的手,并吃下前一日钓的金枪鱼。在双手抽筋的时候,大马林鱼终于浮上来了,体积比小船还要长两英尺,更加坚定了圣地亚哥捕鱼的决心。出于持续作战的需要,圣地亚哥又钓了一些鲯鳅,在和大马林鱼硬耗其间,他用偶像迪马乔及回忆来激励自己。
圣地亚哥预测天气即将变坏,晚上他做了一个梦,却被迅猛地向外冲去的大马林鱼惊醒了,大马林鱼把他勒得像火在烧,于是他打算正面开战。
第三天日出的时候,劳累的大马林鱼开始随波逐流,而圣地亚哥则头脑发胀。他坚持和大马林鱼战斗,尽管眼前出现黑色斑点,尽管因为过分紧张而头晕目眩,尽管早已疲惫不堪,最后,他逮住机会将鱼叉扎进大马林鱼的身体,大马林鱼折腾一番后终于死了。
圣地亚哥惊叹大马林鱼的美,将其绑在船边后准备返航。在返航途中圣地亚哥吃了一些虾补充体力,为了保持清醒,又将手泡在海水里。
不久,圣地亚哥的大马林鱼开始遭到鲨鱼袭击,为了杀死偷吃了四十磅肉的灰鲭鲨,他失去了鱼叉,于是把刀子绑在船桨的把儿上。随着血腥味在海水中扩散,最糟糕的时刻即将来临,圣地亚哥勇猛地杀死了两条疯狂地扑向大马林鱼的扁头鲨鱼,因为它们吃了大马林鱼的四分之一。而接下来他又杀了一头来势凶猛的扁头鲨,损失了刀片。为了保持战斗力,他把手泡在水里并珍惜难得的休息时间。日落之前来了几头扁头鲨,他已经不指望能杀死鲨鱼,那时大马林鱼已经没了一半肉。午夜时分,成群结队的鲨鱼来袭,圣地亚哥不停地战斗,却抵不过鲨鱼相继扑来,直到再也没有可吃的。他几乎累得喘不上气,觉得自己被打败了,任由轻快的小船顺着航线航行。对于夜里来袭的鲨鱼,他毫不理会。
当圣地亚哥的小船驶进港口的时候,已是自己出海的第四天黎明,所有人都已入睡,他将小船停在礁岩下也回去睡觉了。翌日早上,马诺林发现了一身伤的圣地亚哥,看到了他捕到的大马林鱼,不由得痛哭起来。在圣地亚哥醒来后,马诺林表示想和他一起钓鱼,仍被拒绝,因为圣地亚哥认为自己不会再有好运气。
圣地亚哥再次入睡,他梦见了狮子。