老渔夫桑提亚哥在海上连续84天没有捕到鱼。起初,有一个叫曼诺林的男孩跟他一道出海,可是过了40天还没有钓到鱼,孩子就被父母安排到另一条船上去了,因为他们认为孩子跟着老头不会交好运。第85天,老头儿一清早就把船划出很远,他出乎意料地钓到了一条比船还大的马林鱼。老头儿和这条鱼周旋了两天,终于叉中了它。但受伤的鱼在海上留下了一道腥踪,引来无数鲨鱼的争抢,老人奋力与鲨鱼搏斗,但回到海港时,马林鱼只剩下一副巨大的骨架,老人也精疲力尽地一头栽倒在陆地上。孩子来看老头儿,他认为桑提亚哥没有被打败。那天下午,桑提亚哥在茅棚中睡着了,梦中他见到了狮子。