Avery Ludlow (Brian Cox) is a 60-something widower who owns a small-town general store and lives with a 14-year-old mongrel dog named Red. (The dog was a gift from Ludlow's wife, who was murdered shortly afterward by their emotionally troubled son.)
While taking a day off from work to go fishing, Ludlow and Red are met on the lakeshore by a deer-hunting trio of teenagers: Danny, his brother Harold, and their friend Pete (Noel Fisher, Kyle Gallner, and Shiloh Fernandez). Their conversation is at first friendly, but turns increasingly menacing as Danny - a swaggering bully - points his shotgun at Ludlow and demands money. Ludlow offers Danny the keys to his pickup truck, and says there's 20 or 30 dollars in his wallet in the glove box. Danny is disgusted at the small pickings, and on an impulse turns his shotgun toward Red, shooting him in the head. The boys walk away from the man and his dying dog, Danny and Pete laughing about it while Harold seems shaken and embarrassed.
Ludlow takes his dog home and buries him. He learns Danny McCormack's identity by tracking down where he bought the shotgun. He goes to Danny's home and confronts the boy's father (Tom Sizemore), a wealthy businessman with political connections. Ludlow demands that McCormack discipline his son for what he did. McCormack summons his two sons, but they deny the incident happened. McCormack says Ludlow has the wrong culprits, and sends him away. Ludlow goes to his lawyer, who says even if the boys were tried and convicted of the crime, it is at best a 200-dollar fine and a few days in jail. The lawyer introduces Ludlow to Carrie (Kim Dickens), a TV reporter, who persuades him to let her do a feature story on the killing.
What follows is an escalating cycle of hostilities between Ludlow and the McCormacks. After the TV story is aired, a rock is thrown through Ludlow's window, with a note saying he won't be on TV again. The next day Carrie's boss pulls her from the story. Ludlow and his lawyer then proceed to sue the McCormacks, but Mr. McCormack laughs it off and says they'll lose. Ludlow begins openly following the boys around, apparently trying to intimidate them into confessing their actions. He partially succeeds, when Harold approaches him and offers a sincere apology for the incident. Ludlow thanks Harold, but says he needs to hear it from Danny, too. Later, Ludlow taunts Danny on the street, and as he turns to walk away, Danny attacks him with a baseball bat. Ludlow expected this, having observed Danny's short temper on many occasions, and takes the opportunity to pummel Danny to the ground. As Danny lies whimpering, Ludlow tells him that all the witnesses can see he acted in self-defense, and Danny had better learn to control his mean streak and violent temper.
Ludlow apparently thinks he has evened the score with Danny McCormack, but that night his store is burned to the ground by an unknown arsonist. The police are once again powerless to do anything, as Mr. McCormack and the three boys were all at the McCormacks' vacation home that night, with rock-solid alibis. Ludlow suspects Pete's parents (Amanda Plummer and Robert Englund) were somehow involved with the fire, as they seem much more cheerful than the last time he saw them, and they suddenly have several workmen at their home doing expensive repairs.
Ludlow digs up Red's carcass, and carries it to the McCormack cabin. He lays the body on their doorstep and demands that Danny face up to what he has done. McCormack and Danny both produce guns, and Danny loses his temper once again and fires at Ludlow, wounding him in the ear. Harold prevents his father from shooting Ludlow, and Ludlow grabs Danny's pistol and forces him into his pickup truck, saying he'll go into town and surrender to the sheriff. Mr. McCormack follows in his truck, forcing Ludlow's truck off the road, where it overturns. Leaving Ludlow for dead, the McCormacks return to their cabin. Ludlow crawls out of the truck, finds the pistol, and walks back to the cabin. There, Harold pleads with him to just leave, but Ludlow wants his dog's body back. Harold takes him to the woods behind the house to find the body, but McCormack, Danny, and Pete find them there and once again Danny starts shooting. The ensuing gun battle in the dark kills the two innocent (or less-guilty) boys, Harold and Pete, while Danny, Ludlow, and Mr. McCormack are wounded.
In the film's final scene, Ludlow has recovered from his injuries. He is a free man - apparently no criminal charges arose from the incident, though McCormack is threatening a civil suit. Carrie visits him at his home, and says she was given a job at the New York Times after they saw her newspaper story about the tragedy. Ludlow says he was wrong all along, that two boys are dead because he couldn't just "let it go". Carrie disagrees with him, and says her paper will pay for his defense. She gives him a puppy, which Ludlow adamantly refuses to take, saying he's too old to have another dog. Carrie says he should just give the dog whatever time he has, and she drives off. As the movie ends, Ludlow has fed the puppy in the kitchen, and as he drinks a beer wonders aloud what name he'll give it.