Julie James (Jennifer Love Hewitt) is getting over the events of I Know What You Did Last Summer which nearly claimed her life. She hasn't been doing well in school and is continuously having nightmares involving Ben Willis (Muse Watson) still haunting her (such as the nightmare in the bathroom from the end of the last movie). Approaching the 4th July weekend, Ray surprises her at her dorm. He invites her back up to Southport for the croaker queen pageant. She objects and tells him she hasn't healed enough to go back and that it's just her. He tells her she needs some space away from Southport and him and leaves in a rush.
Late that night someone enters her room alerting Julie. She grabs a knife out of her bedside drawer and hunts all over her room for the suspected fisherman. She runs into her room mate Karla (Brandy Norwood) who tells her she needs to get out and have some fun. They go out to a disco with Karla's boyfriend Tyrell (Mekhi Phifer) and Julie's friend Will Benson (Matthew Settle). After having an illusion of the fisherman she leaves in a hurry.
The next morning Karla gets a phone call from a radio station and wins a contest for a holiday to the Bahamas. Julie invites Ray who is not sure if he should go and tells her to have a good time if he can't make it. Ray's friend Dave (John Hawkes) convinces him to go and surprise her. Late that night while driving up to Julie's college they run into Barry's Beamer from I Know What You Did Last Summer and the fisherman lying dead on the road. While Ray goes to inspect, Dave is violently killed by the actual fisherman who has his sliced off hand replaced by a huge hook after Ray discovers it was a dummy dressed as the fisherman. The fisherman tries to run Ray down but Ray jumps down a steep hill and disappears from the fisherman's sight supposedly dead.
The next morning, Karla has taken the courtesy of inviting Will and Ti regardless of Ray. Julie is disappointed in Ray and goes ahead with the trip. Upon their arrival they learn that the storm season begins that very day.
Ray wakes up in hospital and escapes immediately realizing that the fisherman is coming for Julie and the others.
Back in the Bahamas the group are introduced to the bartender Nancy (Jennifer Esposito) who recommends the karaoke machine to them. Karla convinces Julie to get up and sing. As she sings to (Gloria Gaynor)'s 'I Will Survive' the telepromptor reads "I STILL KNOW WHAT YOU DID LAST SUMMER!". In fear, she runs back to her room only to be surprised by Will who tells her he really likes her and wants her to have a good time and hands her a rose.
Outside on the docks, the dockhand Darik (Benjamin Brown) is slashed across the head by the fisherman. The maid is killed after being impaled in the back by the fisherman. The poolboy Titus (Jack Black) is viciously killed after being pinned to the table by a hook and stabbed in the chest with a pair of hedge clippers.
Ray tries calling the hotel, but is unsuccessful and decides to take matters into his own hands. He goes to a pawnbroker and sells his engagement ring for Julie and buys a loaded six-shooter. He goes to the docks and holds the manager up for a boat.
Back on the island, all alone in her room, Julie finds the dockhand's body in her closet and runs outside to tell everyone. When they all go back to check, they find the body gone and all the blood cleaned up. The hotel manager Mr. Brookes (Jeffrey Combs) tells them the next few days will be rough and tells them to stay put in the meantime.
Baggage handler Estes (Bill Cobbs) performs a voodoo on the stolen possessions of the four to protect them.
The next morning Julie and Karla go to the gym to work out while Tyrell and Will go out to find the pool boy. Julie is locked in a tanning bed by the fisherman who turns the temperature up to the max while Karla finds the body of the maid. After finding the horribly bloodied body of Titus , Will and Tyrell realize the girls are in danger and save Karla first and hear Julie's screams and break the bed open. They all go to find Brookes and find him with a machete through his head and the radio destroyed. All the boats have been cut loose and Estes is the prime suspect. They go to find him in his room and find all their possessions and go to find weapons. Julie runs into Estes who informs her he knows who Ben Willis is and that he lived on the island for many years and raised a family. They go out to the graveyard and find a tombstone with Julie's name on it. Estes has disappeared once again and Will runs off to find him. Will finds Estes dumping a boat in the ocean and attacks Will with an oar.
Back in the hotel, Julie, Karla and Tyrell go and hide in the pantry where Nancy has been hiding. She attacks Tyrell thinking he's the killer. Tyrell is impaled in the neck by the fisherman and the three women run out up to the attic with the killer following behind them. They lock the door below them and climb across the beams but Karla gets her foot stuck in the roof of the room below as the fisherman breaks through and attacks her but they fall through the roof and into the room below. Karla runs for her life and jumps off the balcony into the glass house below. Julie and Nancy run down to the glass house and find Karla okay. As Nancy tries to find the key, the fisherman enters the glass house and narrowly misses Karla after Julie breaks the window on the door open with an axe. They all go to hide in the storm shelter and find all the bodies of the fisherman's latest victims down there. Will comes in and tells them the fisherman's gone.
Inside the hotel, Julie tends wound Estes inflicted on Will while Nancy and Karla go and look for the first aid kit. At the main desk, Nancy runs into Estes who has been impaled with a sharp tool and falls onto her as the fisherman comes in and pushes the tool through Estes and into Nancy killing her as Karla watches in horror. He runs after Karla and presumably kills her.
Meanwhile Will reveals the blood on his shirt is not his but Estes' and that he is Ben Willis' son. He drags Julie out to the graveyard where Ben Willis meets them and unmasks. As he is about to kill Julie, Ray shows up aiming his six shooter at them. He fires a blank and Will jumps for Ray and eventually weakens him. As the fisherman is about to hook Ray he jumps out of the way in time and Ben accidentally kills his son. Julie shoots Ben several times until he falls into the open grave. Ray and her embrace as the mud begins to fill the grave covering Ben.
The next morning the coast guard informs them a rescue team is on the way. Karla is still alive and is delighted to see Ray.
A while later, Julie and Ray have bought a home. One night Julie suspects someone is in the house. Ray is in the bathroom but the door strangely shuts. Julie convinces herself it's nothing but is pulled under her bed by Ben. The movie ends without the audience knowing whether Ray and Julie really died, or if it was another of Julie's nightmares.