A mysterious proprietor named Leland Gaunt (Max von Sydow), claiming to be from Akron, Ohio, arrives in the small town of Castle Rock, Maine in a sinister-looking black car and opens a new antique store called "Needful Things". The store sells various items of great personal worth to the residents (some of which, like a pendant that eases pain or a toy which predicts the outcome of horse races, are clearly supernatural). Gaunt demands payment both in cash and in small "favors", usually pranks played by his customers on their neighbours. Gaunt's first customer is a boy named Brian Rusk (Shane Meier) who buys a rare baseball card featuring Mickey Mantle in exchange for 95 cents and a prank on his neighbour Wilma Wadlowski Jerzyck (Valri Bromfield).
Gaunt makes an impression on the town's people, who he also has pull some pranks. One of whom is a corrupt boat salesman and gambler named Danforth Keeton (J. T. Walsh) who embezzled $20,000 of the town peoples' tax money to pay off his gambling debts. Keeton finds out from Sheriff Alan Pangborn (Ed Harris) that people are on to him and in turn he relays his fears to Gaunt and his hatred of those who refer to him as 'Buster' Keeton. To help Keeton with his problems, Gaunt sells him a toy race-horse that predicts the outcome of any horse-race from which he might re-coup the $20,000 and replace the money before the towns-folk find out officially.
Gaunt sells Frank Jewett (Campbell Lane) a 1st Edition of Treasure Island by Robert Louis Stevenson. He also learns of the rivalry between the Catholic priest, Father Meehan (W. Morgan Sheppard) and Baptist minister, Reverend Willie Rose (Don S. Davis) when he sells each of them objects from his shop.
The first hint of Gaunt's true nature is when he has Brian throw muck from the Turkey Farm onto the newly laundered crisp white sheets hanging on the washing-lines at the house of Wilma Jerzyck. On returning home, Wilma assumes the devastation was caused by her long-time enemy Nettie Cobb (Amanda Plummer). She goes to loudly accuses her of this at Nettie's workplace, the Castle Rock diner.
Brian Rusk meets Gaunt at the Lighthouse where he informs Brian he has not fully repaid his debt and expects payment in full right away. Brian returns to Wilma Jerzyck's house and throws apples at her house to smash all the windows.
Nettie Cobb has 'bought' a small statue from Gaunt that is identical to one her violent ex-husband had smashed in a fit-of-rage. In return she goes to Dan Keeton's house and places post-it notes, allegedly from Deputy Sheriff Norris Ridgewick all around the interior, accusing him of all his misdemeanors.
In the meantime, Gaunt has Hugh Priest kill Nettie's dog, in return for a 1950s jacket like he wore at college. This sparks a violent fight between Nettie and Wilma, which gets them both killed.
Gaunt takes a personal measure towards Sheriff Pangborn by giving a necklace to his fiancée Polly Chalmers (Bonnie Bedelia) that cures her crippling arthritis. Gaunt tells Polly for it to work she must never take it off.
Keeton is found by Gaunt cowering in his shop with a gun. He tells Gaunt that he is thinking of killing Norris Ridgewick to stop him telling everyone about his misdemeanors. Gaunt talks him out of it and takes the gun off him.
Brian witnesses the investigation at Wilma Jercyzk's house and hears the Sheriff musing over where all the apples came from. Brian is shocked that his actions might in some way have caused this tragedy and tries to talk to Sheriff Pangborn about what Gaunt had him do, but is too scared to do so. At this point it becomes apparent that Gaunt is enjoying what is happening to the townsfolk and is not human, but a demon.
Sheriff Pangborn later approaches Brian when he's alone at the Lighthouse and asks what's got him so scared. Brian explains that Gaunt is a monster, before trying to shoot himself in the head. The gun goes off but Pangborn manages to save him and Brian is hospitalized. Meanwhile, Pangborn begins to suspect that Gaunt may not be what he seems.
Reverend Rose slashes the tires on Hugh Priest's truck. Hugh Priest sees what has happened to his truck when he is thrown out of the bar for being too drunk. Sheriff Pangborn returns from meeting with Brian and is now very suspicious of Gaunt. He tries to warn Polly and asks her to get rid of the necklace, but she is unwilling to remove it. After Pangborn has gone she tries prying the necklace open to see what is inside and gets an electric shock which throws the necklace across the room. Polly is immediately crippled by her arthritis and cannot reach to pick up the necklace. Gaunt appears in her bedroom and replaces the necklace on Polly's neck. He states the price for necklace will be $20 and a small prank. Polly is so grateful, she pays him immediately and is clearly mesmerized by Gaunt who then seduces her. After which he states that Pangborn is corrupt and has been embezzling money from the town with Keeton for years. He convinces her to go to Pangborn's yacht to look for the money. She does and sees lots of money strewn over Pangborn's desk. She phones Pangborn from the yacht, accuses him of the crime, and in disgust calls off the engagement.
Keeton becomes afraid that everyone including his wife Myrtle Keeton (Gillian Barber) is out to get him, and Gaunt convinces him that he is his only ally. Gaunt also has Keeton attack deputy Norris Ridgewick at the police station. Pangborn manages to subdue Keeton by handcuffing Keeton to his car. Shortly after this, Keeton manages to escape Ridgewick by kicking him in the groin. He then drives home where he accuses his wife of having an affair with Norris and kills her with a hammer. The phone rings and it is Gaunt. He tells Keeton to come to see him, as he has something for him that will make him feel better.
Hugh Priest goes into the bar with a shotgun and straight up to the owner, who also pulls out a shotgun from behind the bar and they shoot each other. Gaunt's pranks spread throughout the town and its citizens. Mistaken suspicion, paranoia and anger spread with it. Gaunt starts selling his customers guns, encouraging them to kill whoever wronged them, playing on their greed and fear. Gaunt has Keeton place explosives in the town's Catholic church, where Sheriff Pangborn is inside talking to Father Meehan relaying his new suspicions that Gaunt is the Devil incarnate, but Meehan refuses to believe him. The church explodes, but Pangborn and Meehan manage to escape with their lives. Father Meehan believes that Reverend Willy Rose is behind the attack on the Church and leaves to fight him.
A riot sparks throughout the town, with Gaunt watching from the sidelines. Sheriff Pangborn tries desperately to restore order. He pulls a gun on Father Meehan who is trying to behead Reverend Rose and Gaunt encourages him to shoot them. Pangborn fires into the air, much to Gaunt's disappointment. Getting everyone's attention, Pangborn convinces the townsfolk of Castle Rock to come to their senses, exposing Gaunt's true nature and his web of lies and manipulation.
Everyone stops fighting and admits their pranks, but Keeton, despondant after everything, walks up to Pangborn and Ridgewick, pointing a gun at them with a bomb strapped to himself, threatening to blow everyone up. He is talked down by Pangborn and turns him against Gaunt. Keeton walks up to Gaunt, who taunts him about his inadequacies and is heard to repeatedly refer to him as 'Buster'. Keeton is infuriated by this and tackles Gaunt through the store window, setting off the bomb and destroying Needful Things.
Defeated but completely unharmed, Gaunt emerges from the burning wreckage of his store saying that this wasn't his best work. Gaunt walks up to Pangborn and Polly, telling them they make a cute couple, and he will encounter their grandson in 2053 - then departs, presumably to continue his vicious evil work elsewhere, leaving in the same black car in which he arrived.Max von Sydow as Leland Gaunt
Ed Harris as Sheriff Alan J. Pangborn
Bonnie Bedelia as Polly Chalmers
Amanda Plummer as Netitia 'Nettie' Cobb
J. T. Walsh as Danforth 'Buster' Keeton III
Ray McKinnon as Deputy Norris Ridgewick
Valri Bromfield as Wilma Wadlowski Jerzyck
Shane Meier as Brian Rusk
W. Morgan Sheppard as Father Meehan
Don S. Davis as Reverend Rose
Gillian Barber as Myrtle Keeton
Lochlyn Munro as John LaPointe
Campbell Lane as Frank Jewett
Frank C. Turner as Pete Jerzyck
Needful Things received generally negative reviews from critics.
Roger Ebert gave it 1.5 out of 4 stars, saying the film "only has one note, which it plays over and over, sort of a Satanic water torture. It's not funny and it's not scary and it's all sort of depressing." Janet Maslin, film and literary critic for The New York Times, gave the film a resoundingly negative review, saying that "though this is by no means the grisliest or most witless film made from one of Mr. King's horrific fantasies, it can lay claim to being the most unpleasant."
The film holds a 26% rating on Rotten Tomatoes, based on 23 reviews.
At the 1993 Academy of Science Fiction, Fantasy & Horror Films Awards, Needful Things was nominated for three Saturn Awards and won one: Amanda Plummer for best supporting actress.