늙은 어부 산티아고는 팔십사 일째 물고기를 한 마리도 잡지 못한다. 사람들은 그에게 운이 다했다고 했지만, 노인은 포기하지 않고 다시 바다로 나선다. 다른 어부들이 가지 않는 더 먼 바다까지 나간 노인은 마침내 거대하고 아름다운 청새치 한 마리와 맞닥뜨린다. 하지만 그 청새치는 노인의 조각배보다 힘이 셌다. 노인은 며칠에 걸쳐 바다에서 물고기와 고독한 사투를 벌인다. 녹슬지 않은 낚시 기술과 열정으로 겨우 청새치를 잡아 뱃전에 묶고 돌아가려는 순간, 피 냄새를 맡은 상어 떼의 공격을 받는다. 결국 노인은 녹초가 되어 소년이 기다리는 항구로 뼈만 남은 물고기를 들고 돌아온다.