桑提亚哥是古巴的一个老渔夫,他年轻时非常出色,强健有力,他曾经和一个黑人比赛掰腕子,比了一天一夜,最后终于战胜了对手。到了晚年,他的经历和反应都不如从前,老婆死后,他一个人孤独地住在海边简陋的小茅棚里。
有一段时间,老渔夫独自乘小船打鱼,他接连打了84天,但一条鱼也没有捕到。本来一个叫曼诺林的男孩子总是跟他在一起,可是日子一久曼诺林的父母认为老头悖运,吩咐孩子搭另一条船出海,果然第一个星期就捕到三条好鱼。孩子每次见到老头每天空船而归,心里非常难受,总要帮他拿拿东西。
桑提亚哥瘦削憔悴,后颈满是皱纹,脸上长着疙瘩,但他的双眼象海水一样湛蓝,毫无沮丧之色。他和孩子是忘年交。老头教会孩子捕鱼,因为孩子很爱他。村里很多打鱼的人都因为老头捉不到鱼拿他开玩笑,但是在曼诺林的眼里,老头是最好的渔夫。他们打渔不但是为了挣钱,而是把它看作共同爱好的事业。孩子为老头准备饭菜,跟他一起评论垒球赛。老头特别崇拜垒球好手狄马吉奥。他是渔民的儿子,脚跟上虽长有骨剌,但打起球来生龙活虎。老头认为自己已经年迈,体力不比壮年,但他懂得许多捕鱼的诀窍,而且决心很大,因此他仍是个好渔夫。
老人和孩子相约第二天,也就是第85天一早一起出海。半夜醒后他踏着月光去叫醒孩子,两人分乘两条船,出港后各自驶向自己选择的海面。
天还没有亮,老头已经放下鱼饵。鱼饵的肚子里包着鱼钩的把子,鱼钩的突出部分都裹着新鲜的沙丁鱼。 鱼饵香气四溢,味道鲜美。
正当桑提亚哥目不转睛地望着钓丝的时候,他看见露出水面的一根绿色竿子急遽地附入水中。他用右手的大拇指和食指轻轻捏着钓丝。接着钓丝又动了一下,拉力不猛。老头明白,一百英寻之下的海水深处,一条马林鱼正在吃鱼钓上的沙丁鱼。他感觉到下面轻轻的扯动,非常高兴。过了一会儿他觉得有一件硬梆梆、沉甸甸的东西,他断定这是一条大鱼。这激起他要向它挑战的决心。
老人先松开钓丝,然后大喝一声,用尽全身的力气收拢钓丝,但鱼并不肯轻易屈服,非但没有上来一英寸,反而慢慢游开去。老头把钓丝背在脊梁上增加对抗马林鱼的拉力,可是作用不大,他眼睁睁地看着小船向西北方飘去。老头想鱼这样用力过猛很快就会死的,但四个小时后,鱼依然拖着小船向浩渺无边的海面游去,老头也照旧毫不松劲地拉住背在脊梁上的钓丝。他们对抗着。
这时,老人回头望去,陆地已从他的视线中消失。太阳西坠,繁星满天。老