Billy Ray Smith (Anthony Edwards) is a timid young schoolteacher from Boston living in a rugged Texas town. One of his students is a teenage girl named Nettie Tuleen who has an unrequited crush on him. While Billy Ray reads a story to the class by his favorite author, Kid Durango, the town is invaded by a gang of outlaws led by El Diablo (Robert Beltran), their actions mirroring the events from the story. When Nettie hears the commotion, she excitedly rushes outside only to be snatched up by El Diablo. Billy Ray tries to intervene, but only comes away with one of the outlaw's heirloom spurs as Diablo rides away laughing. The sheriff leads a party in pursuit, only to return with a group of riderless horses and with his tongue cut out.
With no one else in town willing to stand against the notorious outlaw, Billy Ray vows to rescue Nettie with the help of Kid Durango (reputed to be "the fastest gun in the West") despite not knowing how to ride a horse or shoot a gun. His ineptitude is displayed when on his way out of town, his mount rears up and throws him from the saddle, the impact causing his revolver to discharge and kill his horse. He arrives by train in the town of Millennium in search of J.D. Shones, a sheriff who had apparently rode with Kid Durango. Billy Ray discovers that Shones is already dead, having been killed by the current sheriff, who is in turn shot in the back by an aging gunslinger named Thomas Van Leek (Louis Gossett, Jr.), a friend of Kid Durango who offers his services to Billy Ray and procures him a new horse. When Billy Ray reveals that he is searching for El Diablo, Van Leek calls him a fool and departs. He later returns to save Billy Ray from a group of bounty hunters who mistakenly believe he killed the sheriff.
The next day, Van Leek begins to assemble a group of skilled professionals to aid them on their journey, using Diablo's spur as a calling card. The first to join them is a blacksmith named Bebe Patterson, one of Van Leek's old friends and a former captive of El Diablo. Next, the group interrupts a hanging orchestrated by the preacher/con artist Autolycus (John Glover) who is about to execute two men: an explosives expert named Roberto "Bob" Zamudio and a criminal known as Pitchfork Napier. All three join the group en route to Mexico, but Napier is soon killed and replaced by the Native American, Dancing Bear, as revenge for Napier having slept with his wife. After retrieving a cache of dynamite Zamudio had buried in the desert, the party crosses the Mexican border and stops at a saloon to rest, where Billy Ray is finally introduced to Kid Durango (Joe Pantoliano). However, he is shocked to learn that Durango (a mild-mannered fellow whose real name is Truman Feathers) is not the hero he was expecting, and that all of his stories were in fact based upon Van Leek's exploits.
Upon spotting Pestoso, one of El Diablo's henchmen in the saloon, Van Leek convinces Billy Ray to confront him in a showdown. Although terrified, Billy Ray stands his ground until the two draw their guns, with Van Leek secretly sniping the henchman from a nearby bell tower. After the duel, Pestoso's companion Chak Mol instructs Billy Ray to meet him alone the next morning at the "tree of death", while Kid Durango, inspired by Billy Ray's example and looking for new material to write about, joins the group on their quest.
As the others make plans to infiltrate the compound themselves, Chak Mol escorts Billy Ray directly into El Diablo's hideout, where he is bound to a tree before coming face-to-face with the dangerous outlaw. Though he offers to exchange Diablo's prized spur for Nettie's return, Diablo replies that he has found something he likes better and introduces Nettie as "Rosita", his new consort. Meanwhile, Bebe, Zamudio, and Autolycus are confronted by a group of Diablo's men. In the ensuing conflict, Autolycus and Zamudio are killed, leaving Bebe to carry out their plan alone. He speeds toward the compound in his wagon loaded with Zamudio's dynamite, but his leg gets trapped before he can jump free. Laughing hysterically, Bebe crashes into the hideout, the explosion serving as a distraction for Dancing Bear and Van Leek to open fire on Diablo's henchmen. In the aftermath, Van Leek finds a hidden chest of gold, alluding to an earlier suspicion by Kid Durango that Van Leek was more interested in Diablo's riches than Nettie's rescue. Disgusted, Billy Ray leaves to find Nettie on his own.
After chasing the young woman into a cave, he is confronted by El Diablo. Their meeting is interrupted by Kid Durango who, inspired to prove himself as a hero, challenges Diablo to a duel and is gunned down. With his last breaths, he implores Billy Ray to kill Diablo and "complete the story". Diablo taunts Billy Ray before deciding to shoot him in the head, but Van Leek calls him out before he can pull the trigger. Diablo wounds Van Leek in the shoulder, disarming him, but Billy Ray intervenes by shooting the outlaw in the back twice, much to Van Leek's amusement.
In the end, the deceased group members are buried and Billy Ray pays his final respects to Kid Durango before returning Nettie home to her mother. As Billy Ray and Van Leek head out of town, a forlorn Nettie asks if he will be coming back, to which Billy Ray answers, "Someday." The film closes with the townspeople respectfully acknowledging Billy Ray and he and Van Leek discussing plans for a new book series based on their adventures together.Anthony Edwards as Billy Ray Smith
Louis Gossett, Jr. as Thomas Van Leek
Joe Pantoliano as Kid Durango
John Glover as The Preacher
Robert Beltran as El Diablo