Set in a Northern California fishing town called Antonio Bay, the town is about to celebrate its centennial on April 21, 1980, and are having a celebration led by Kathy Williams (Janet Leigh). However, the centennial is also marked by ominous events, including the appearance of a glowing fog that spreads over land and sea.
In the first scene, on the night before the town's celebration, a group of children seated around a campfire on a beach, are entertained by a ghost story, told by 'old' Mr. Machen (John Houseman) (exactly at the stroke of midnight), the resident elderly fisherman. The story being told is indicative of the history of the town's formation, which is being discovered at that exact moment by the local priest, Father Malone (Hal Holbrook), when he finds the diary of his grandfather (who was also the town's priest).
The diary later reveals a dark secret unknown to the current inhabitants where, in 1880, six of the founders of Antonio Bay (including Malone's grandfather) deliberately sank and plundered the Elizabeth Dane, a clipper ship owned by Blake, a wealthy man with leprosy who wanted to establish a colony near Antonio Bay. The six conspirators lit a fire on the beach near treacherous rocks, and the crew of the clipper, deceived by the false beacon, crashed into them. Everyone aboard the ship perished. The six conspirators were motivated both by greed and disgust at the notion of having a leper colony nearby. Antonio Bay and its church were then founded with the gold plundered from the ship.
The mysterious fog contains the vengeful ghosts of Blake and the clipper's crew, who have come back on the 100th anniversary of the shipwreck and the founding of the town to apparently take the lives of six people (symbolic substitutes for the six conspirators).
This same night, three local fishermen, Al Williams, Tommy Wallace, and Dick Baxter, are gruesomely murdered by supernatural attackers after the fog covers their boat. Just prior to their deaths, Al and Tommy are standing on the deck of the boat and can see a ghostly looking ship pulling along side theirs, through the dense, but glowing fog.
At the same time, Nick Castle (Tom Atkins) drives down a country road and picks up a hitchhiker called Elizabeth (Jamie Lee Curtis) who claims to be on her way to Vancouver. While the two drive towards town, the radio and headlights of the car start to fail, as the windows of the truck are blown out. At the same time, various odd phenomena begin to happen around the sleeping town (chairs move, television sets turn themselves on, gas stations seemingly come to life).
A short time later, Nick and Elizabeth have arrived at Nick's coastal home and are relaxing when a heavy knock is heard at the door. Making his way to open the glass, front door, Nick sees an odd light shining outside, illuminating a shadowy figure. The clock strikes 1AM, and it's face suddenly cracks, just as Nick opens the door, only to see there is no one there, and the fog has dissipated.
The following morning, while in her bungalow next to the beach, the local radio DJ Stevie Wayne (Adrianne Barbeau) is lying in bed when her young son, Andy, returns to the house showing her a broken plank of wood he has discovered. It reads "DANE." Intrigued by the piece, Stevie keeps it and takes it with her to the lighthouse, where she is preparing for her next show and listening to various promotional tapes for her station. Stevie sets the plank on top of the tape player that is playing the promotional spots, and while she is momentarily distracted, the plank begins to seep water. The water spreads and causes the tape player to short. Suddenly, Blake's voice emerges from the tape player swearing revenge, the words "6 Must Die" appear on the plank, and the plank bursts into flames. A shocked Stevie immediately extinguishes the fire. Afterwards, Stevie checks the plank only to find that it once again reads "DANE."
Meanwhile, Nick and Elizabeth charter a boat and embarch on a search for the missing fishing boat, called the Sea Grass. Soon, they find the boat where the fishermen were killed. After looking around the deserted boat, they go below decks, and Elizabeth finds the eyeless corpse of Dick Baxter, the youngest of the three fishermen. They then take Baxter's body to the local coroner's office to be examined by Dr. Phibes. Phibes, who is perplexed by the body's advanced state of decomposition, takes Nick aside to ask him about the circumstances of the body's discovery and leaves Elizabeth alone in the autopsy room with Baxter's corpse. The body becomes momentarily re-animated by a ghost. It rises from the steel autopsy table, grabs a scalpel, and walks over to Elizabeth. As Baxter's corpse moves closer to Elizabeth, she screams, and the body drops to the floor, lifeless once again. Elizabeth's screams bring Nick and Phibes rushing back into the autopsy room, where they see that the corpse has scratched the number "3" into the floor with the scalpel.
Back in Antonio Bay town center, the town's celebration begins. At the same time, Dan (Charles Cypress), the local weatherman, and Stevie talk over the phone. Stevie expresses her apprehension about the strange glowing fog that is moving toward the town. Dan then hears a knock at the weather station's door and leaves Stevie on the phone while he goes to answer it. Dan is killed when he opens the door and one of the ghosts impales him through the throat with a hook, and Stevie listens in horror.
Just when the ghosts of the fog cut the phone lines as well as sabatoge the power for the entire town, Stevie begins her radio broadcast and begs someone to get to her house and save her son when she sees the fog roll up to the house. Nick and Elizabeth hear this over Nick's truck radio and go to help. Back at Stevie's house, a strange knock comes at the door. The elderly babysitter goes to answer it and tells Andy to go to his room. When she opens the door the ghosts come out of the fog and impale her on their swords and hooks. The ghosts then go after Andy. Nick arrives just in time and takes Andy in his car. A minute of tension begins when Elizabeth, driving Nick's truck, attemps to flee with him, but gets stuck in a road pothole as the fog surrounds the truck and the ghosts slowly emerge towards them. At the last second, Elizabeth managed to free the truck from the pothole and drive in reverse, away from the ghosts and out of the fog.
As the celebration in town comes to an end, Kathy and her assistant drive home in the same car. When they turn on the radio they hear Stevie repeatedly telling people to stay away from the fog as it is dangerous. When the fog appears, they drive away from it. They then hear Stevie saying the only safe place is the church, which they go to. Nick, Elizabeth and Andy hear the same message and they too go to the church. They all meet in the church as well as Father Malone, and they hide in the small back room. While they are in the room, Kathy and Father Malone find some of the stolen gold, which has been melted into a cross. Blake's ghost and his crew begin to break into the room. Knowing he is the offspring of the last conspirator, Father Malone confronts the ghosts with the golden cross in an attempt to sacrifice himself and save everyone else.
Back at the lighthouse the fog rolls in and several of the ghosts try to attack Stevie. She climbs onto the roof with the ghosts in hot pursuit. The ghosts slowly close in on her and get ready to attack.
Back in the church, Blake's ghost grabs the golden cross. The golden cross starts to glow and the church rumbles as the light emanating from the cross becomes brighter and brighter. Only seconds before Blake's ghost and the cross disappear in a flash and a thunder Nick manages to pull Father Malone away from the cross. With Blake's ghost the other ghosts are suddenly vanished too. The fog disappears and all of the town's people are saved.
Later that night when Father Malone is alone in the church, he asks himself "Why not me Blake?", at that moment the fog reappears with Blake and his men. Blake swings his sword at Father Malone's head, decapitating him as the screen cuts to black.