10살의 나이로 끔찍한 살인을 저지른 소년이 있다. 그의 이름은 ‘보이 A’. 소년은 14년간의 복역을 마치고 ‘잭’ 이란 새로운 이름으로, 오래도록 단절되었던 진짜 세상에 뛰어들 준비를 한다. 그의 착한 본성을 알고 있던 보호감찰사 테리의 도움으로 새 직장과 친구, 애인까지 생기게 된 잭. 그러나 너무도 간절했던 것들을 손에 넣을수록 과거를 숨기고 있다는 죄책감은 더욱 깊어만 진다. 그러던 어느 날, 교통사고현장에서 여자아이를 구한 잭은 일약 영웅으로 떠오르지만, 그와 동시에 보이 A의 석방소식이 대대적으로 보도되면서 감춰왔던 과거가 드러나게 된다. 잔혹한 과거 앞에 다정했던 사람들은 차갑게 돌변하고, 세상은 소년을 밀어내기만 하는데…

둘도 없는 단짝 친구들인 매트 (잔 마이클 빈센트), 잭 (윌리엄 캐트), 르로이 (게리 부시)는 여름이면 해변에서 살다시피하며 서핑을 즐긴다. 이들의 인생에선 서핑이 전부다. 눈부신 햇살이 내리쬐는 바다에서 굽이치는 파도를 가르며 서핑을 하는 동안만큼은 세상 그 어느 것도 부러울 게 없다. 그들은 젊고 태양은 뜨거웠으며 파도는 언제나 푸른 유혹을 보내고 있으니까. 하지만 늘 그렇듯 좋았던 시절은 짧고 그 회한은 긴 법이다. 언제나 그 자리에 있을 것만 같던 이들은 나이를 먹고 세상일에 시달리면서 조금씩 변해가고 예전의 순수했던 마음을 잃어간다. 바닷가엔 변함없이 파도가 밀려오건만 매트, 잭, 리로이는 더 이상 서핑에 매달리지 않는다.

주인공 조지와 친구들은 장난을 치다 실수로 친구인 버디를 죽이고 말지만, 어찌할 바를 모른 나머지 그의 주검을 숨겨둔다. 조지는 다시 우연한 기회에 익사 직전의 소년을 구하게 되고 어느새 마을의 영웅이 되어 있는 자신을 발견한다. 그리고 조지는 수감 중인 아버지를 찾아가 실수로 범죄를 저질렀을 뿐이라는 아버지의 말을 이제는 믿는다고 고백한다. 버디가 죽던 현장에 함께 있었던 버논과 소냐는 차를 훔쳐 마을에서 달아나려고 하지만 사고를 내게 되고 버디의 주검은 곧 마을 사람들에 의해 발견된다.

1955년 재능있는 미식 축구선수 데이비드 그린(브렌단 프레이저 분)은 하버드대 입학을 조건으로 명문 세인트매튜 고교에 스카웃된다. 미션 스쿨이었기에 유태인을 멸시하는 풍조가 있었지만 하버드대 진학에 대한 꿈을 버리지 못한 데이비드는 자신이 유태인이라는 사실을 숨긴 채 학교 생활을 유지해간다. 그러던 어느날 데이비드의 진학으로 인해 쿼백자리를 빼앗긴 딜런(맷 데이먼 분)이 그 사실을 알게 되고, 여자 친구 문제로 말다툼하던 끝에 모두에게 폭로하고 만다. 친구들 사이에 그가 유태인임이 알려지기 시작하면서 그는 많은 곤욕을 치르는데...