故事讲到一个精神沮丧的老渔人,在他对职业的自豪感(他留下的唯一自豪感)的支持之下,冒险远航至墨西哥湾流并在那里钓住了一条该水域中从未见过的最大的马林鱼。
桑提亚哥老人已经八十四天没有捕到一条鱼了。最初,一个年轻的孩子曼诺林和他一起分担恶运,但在过了四十天倒霉日子之后,孩子的爸爸让孩子到另一条船上干活去了。从那个时候起,桑提亚哥只是一个人干活。每天早晨他划着小船到有大鱼出没的墨西哥湾流去,每天晚上他总是两手空空地回来。 孩子喜欢并且可怜这个老渔人。曼诺林要是自己没有挣到钱,就会乞讨或偷窃以保证桑提亚哥有足够的食物和新鲜的鱼饵。老人谦卑地接受孩子的好意,谦卑中带有某种隐而不露的自豪感。晚餐时(吃的是大米饭和黑蚕豆)他们总会谈论在运气好的日子里一起捕获的大鱼,或是谈论美国的棒球赛和伟大的狄马吉奥。夜间桑提亚哥一个人躺在自己的小棚屋里,梦见非洲海滩上的狮子,几年前他航海去过那个地方。他不再梦见自己死去的老婆了。
在第八十五天,桑提亚哥在寒冷的黎明前的黑暗中,把小船划出了港口。在把陆地的气息抛在身后之后,他放下了钓丝。他的两个鱼饵是孩子给他的鲜金枪鱼,还有把鱼钩遮盖起来的沙丁鱼。钓丝垂直地下到暗黑的深水里。
太阳升起时,他看到别的一些船只都头朝着海岸,在海上看来海岸象是一条接近地平线的绿带子。一只盘旋的军舰鸟给老人指明了海豚追逐飞鱼的地方。但是鱼群游得太快、也太远了。这只猛禽又在盘旋了,这次桑提亚哥瞧见金枪鱼在太阳光下跃起。一条小金枪鱼咬住了他艉缆上的鱼钩。老人在把颤动的金枪鱼拉上船板以后,心想这可是一个好兆头。