84 дня старый кубинский рыбак Сантьяго выходит в море и не может ничего поймать. И только его маленький друг Манолин продолжает ему помогать, хотя отец запрещает ему рыбачить со старым Сантьяго. Они по-прежнему дружат и часто разговаривают о том о сём. На 85-й день старик выходит в море, как обычно, на своей парусной лодке, и ему улыбается удача — на крючок попадается марлин около 5,5 метров длиной. Старик жалеет, что с ним нет мальчика, одному справиться нелегко. В течение нескольких дней между рыбой и человеком происходит настоящая битва. Старик смог справиться голыми руками с рыбой, которая длиннее его лодки и вооружена мечом. Но марлин уносит лодку далеко в море, мало поймать рыбу — с ней ещё надо доплыть до берега. На кровь из ран рыбы к лодке старика собираются акулы и пожирают рыбу. Старик вступает с ними в схватку, но здесь силы не равны. Когда он доплывает до берега, от рыбы остаётся один скелет, голова и меч, который Сантьяго дарит мальчику на память.