The story starts off with Kent (Brent Sheppard) pleading for his young son not to eat an ice cream cone but to no avail– the ice cream is eaten and Kent shockingly dissolves into a puddle of melted ice cream. At Kent's funeral, one of his childhood friends Layne Banixter (Lee Tergesen), observes a shaggy individual hiding with a smirk. While Layne is at a pub, his friend, Toot (Lyle St. Goddard), is drinking himself into a stupor. Toot argues that Kent was in a closed casket because there was nothing left of him but his clothes. Around midnight, Layne heads home and observes several children in a coma-like state outside, clutching coins with an eerie chant of "We all scream for ice cream...".
Worried, Layne tells his wife of his childhood, and the local ice-cream man named Buster (William Forsythe). He was a decent soul who drove an ice-cream truck and wore a clown suit. He was a friend to the kids. The neighborhood bully, Virgil Constance (Samuel Patrick Chu) began taunting him, pulling off his clown nose to reveal a burnt stub – Buster had no real nose. Layne ends the story there, stating that one day, Buster simply died. He gets a phone call and arrives at the scene of Toot's death – his clothes in a pile of something gooey. Layne's wife demands to know what part of the story he omitted. Distressed, Layne tells her that Virgil planned a prank on Buster that one of them would start his truck and make it roll down the hill. Virgil forced Layne to start the truck, which began rolling straight towards Buster. Too busy picking up fallen coins to notice, Buster was run over by the truck and died.
That night, Layne goes to see the adult Virgil (Colin Cunningham) – the shaggy man he spotted at the funeral. Virgil is in a tub, spitting one insult after another at Layne, who wants to know what happened. A ghostly ice-cream truck stops in front of a little girl and Buster's horribly-scabbed hand gives the girl a treat. Upon the girl biting into it, Virgil melts away into the tub, screaming as layers of skin and flesh roll off him like ice-cream.
Layne's children hear the alluring tune of "We all scream for ice-cream..." and run out. Layne hears the same tune and, carrying a small cooler, walks outside for a showdown. Buster's vengeful spirit offers an ice-cream to Layne's kids. Layne and Buster struggle until Layne turns on the garden sprinklers, freezing the clown. Layne's son sees an ice-cream, shaped exactly like Buster. He bites it and the clown dies. In the next scene, Layne hears the old creepy tune again and the film ends with a flash of Buster's rotten face.