Six high school seniors head out to a secluded lake for a last day together. The seniors are: Johnny, a quiet type; Kitty, the aspiring actress who uses her looks to manipulate men; Deb, Kitty’s friend; Zeke, an obnoxious camera wielding geek; Matt, Kitty’s jock boyfriend, and Simon, Matt’s wild brother.
While at the lake, Johnny meets an old man who knows his grandfather. The old man tells him that he should know better than to go on the lake but Johnny says they’re just going to cross to the other shore and he’ll show respect. The man agrees, but notes that Johnny’s “friends” aren’t the kind to respect the lake. The observation is proven correct when Johnny’s friends ignore his pleas to stay in the boat and instead go swimming, thrashing about in the water, drinking, littering and playing with sparklers. They soon swim back to the boat after they feel a large object touching them underwater. They try to row back to shore but lose an oar in the water. As Deb reaches out to retrieve it, a giant fish bites her and she bleeds out and dies. The group tries to row to shore with one oar but the giant fish bites and destroys their remaining oar. In desperation, they throw Deb’s body overboard to distract the fish and continue paddling using their hands; however, this is not successful and the group is left stranded on the lake, several hundred yards away from the shoreline.
As the group panics, Kitty accuses Johnny of knowing about the fish because he tried to give her a necklace for protection earlier which she refused, thinking it was a love token. Zeke attempts to persuade the group to throw Johnny overboard. Disgusted with them, Johnny jumps overboard and begins swimming to shore but is pursued by the fish, and disappears underwater.
Hysterical and desperate, Zeke is thrown overboard by an enraged Matt after accusing Kitty of sleeping with both brothers. His GoPro camera still recording, Zeke is seen being eaten by the fish, his arm with camera still attached is seen floating on the surface.
From the shore, Johnny sets off in a motor boat to rescue the group, but after observing the fate of Zeke, he tells them he’ll use a rope to tow the boat to safety. As he throws the rope, the fish bumps the boat causing it to spin and the rope catches around Johnny’s neck, strangling him. Kitty is presented with an opportunity to save him by cutting the rope but she hesitates, resulting in Johnny’s death.
Kitty, Matt and Simon throw Johnny’s body into the water as a distraction, but the fish refuses to eat him. The trio argue about Zeke’s earlier insinuations regarding Kitty, and Matt angrily throws her into the lake. Kitty is denied entry on the boat, and she swims off.
In a fit of madness, the brothers fight, and both end up falling into the water. Simon suffers a head injury, leaving drops of blood that attracts the fish; Matt, more concerned with his brothers safety than the fish, is kicked by Simon into the fish’ path and is eaten while Simon swims to shore.
Meanwhile, Kitty observes Johnny’s body floating nearby as she sits on the overturned motorboat. She takes the necklace he had previously offered to her off his neck and puts it on. The fish immediately goes to Johnny’s body and consumes it. Believing the necklace will protect her, Kitty swims to the shore where she is confronted by a psychotic Simon, who drowns her in the shallows despite her pleas.
As night descends, the bloodied Simon sees the old man in front of headlights. The man asks for Johnny and Simon replies that everyone is dead and he needs to get help. The old man states that Johnny was such a nice boy and that Simon needs to go back in the lake because it wasn’t finished with him. Having seen Zeke’s GoPro footage, and knowing what actually happened, the old man shoots at Simon several times until he goes back into the water. Simon tries to escape but is dragged underwater and devoured. Johnny’s tooth necklace is seen washing ashore on the lake bed, covered with stains of blood.