Jimmy Markum (Sean Penn), Dave Boyle (Tim Robbins) and Sean Devine (Kevin Bacon) pochodzą z robotniczych rodzin. Znają i przyjaźnią się od dziecka, kiedy to razem wychowywali się w niespokojnej bostońskiej dzielnicy. W ich życiu nie wydarzyło się nic nadzwyczajnego, aż do momentu, kiedy jeden z nich wsiadł do niewłaściwego samochodu. Porwanie Davida Boyle’a zmieniło wszystko. Ich przyjaźń została zachwiana, chłopcy oddalili się od siebie. 25 lat później ich drogi ponownie się łączą za sprawą innego tragicznego wydarzenia – morderstwa dziewiętnastoletniej córki Jimmy’iego. Seanowi, który został policyjnym detektywem, zostaje powierzona sprawa brutalnego morderstwa. Wraz ze swoim partnerem z policji (Laurence Fishburne) rozpoczyna dochodzenie. Ich głównym podejrzanym jest… Dave Boyle.