In the summer of 1975 in a neighborhood in Boston, three kids, Dave Boyle and two of his friends, Jimmy Markum and Sean Devine, are playing on the sidewalk when Dave gets abducted by two men and endures several days of sexual abuse. Eventually, Dave escapes traumatized throughout adulthood. Jimmy (Sean Penn) is an ex-con and a father of three, whose daughter Katie (Emmy Rossum), is found dead, and Dave (Tim Robbins) becomes the number one suspect. Sean (Kevin Bacon) is a homicide detective, investigating Katie's murder, ends up finding himself faced with past and present demons as more is uncovered about Katie's murder. Learning Katie had a boyfriend, ballistics later turn up a gun belonging to the father, which then puts her boyfriend as the suspect. Will Sean find out who killed Katie? Will Jimmy make it through the investigation? And will Dave ever find out what really happened when he was abducted?