Johnny Blaze (Nicolas Cage) was a former stunt rider who often teamed up with his father on various stunts. When he discovered that his father's death is impending, he makes a deal with a man named Roarke (Ciarán Hinds) who claims to be the Devil in exchange for his soul and a curse to be set upon him. Johnny now hosts an entity called 'The Rider', a fiery demon who punishes sinners, no matter how petty the crimes are. However, his father dies regardless, and having two minds fighting for control over his new powers, Johnny attempts to stay as far away from mankind as possible, hiding out in Eastern Europe (Romania).
In the present, a drunken priest named Moreau (Idris Elba) attempts to warn the order of monks residing in a castle that the Devil has sent out forces to retrieve a certain boy and his mother hiding there, despite the head monk's (Anthony Head) reassurances of their safety. At that moment, mercenaries hired by Roarke breach the castle and kill all of the monks except for Moreau, while the mother, Nadya (Violante Placido) and her son Danny escape. Moreau chases after them, as well as the mercenaries. Trying to protect Nadya and her son, Moreau is driven off a cliff before he shoots the mercenaries' tires, delaying them before they can go after Danny and Nadya. He survives, as a tree breaks his fall. Moreau seeks out Johnny, who has been living in isolation in an abandoned village. Johnny initially refuses to help Moreau locate the mother and her son, but after he is promised that Moreau's ancient order can exorcise the curse from his soul, he agrees.
Nadya and Danny are found by the mercenaries, who drive their car off the highway and crash it. Their leader, Ray Carrigan (Johnny Whitworth), takes Danny after a struggle and attempts to execute Nadya. Sensing this, Johnny unleashes the Rider (having held it in for some time) and transforms. He arrives just as Carrigan is about to kill Nadya, and kills two of his men. The Rider senses the great evil in Danny and attempts to kill him, but Nadya distracts him long enough for Carrigan to knock him out with a grenade launcher. Danny is taken away, while Johnny wakes up in a nearby hospital the next day and confronts Nadya, who is also there. They both join forces in order to save her son. Meanwhile, Roarke arrives in Europe, and sets up a "firewall" within Danny (via cellphone) to prevent the Rider from locating the boy, but advises Carrigan to run, as the Rider can still sense 'him'.
Nadya takes Johnny to one of Carrigan's contacts, and finds that he is in an old quarry. Johnny begins to transform, and when Nadya confirms her son and Carrigan's location, Johnny rides there mid-transformation. Carrigan prepares himself with an army of his men, including a rocket launcher that could hopefully defeat Johnny. The Rider appears and a battle ensues while Nadya frees Danny. The Rider makes short work of the mercenaries by "riding" a Bagger 288 and defeats Carrigan. As Nadya and Danny escape, the Rider catches up to them and attempts to kill Nadya. But in Danny's presence, the rider is forced to turn back into Johnny Blaze, partly due to the fact that Danny is the Devil's son. Roarke approaches Carrigan, who dies in front of him. However, Roarke resurrects him as a being known as Blackout, who can render a person's environment pitch black and decay anything he touches. Roarke sustains some injuries due to his weak state on the Earth and sends Blackout to retrieve Danny.
Moreau catches up to the group and leads them to a Sanctuary, where the monks there, including Methodius (Christopher Lambert) ensure the protection of Danny. Before the exorcism, Moreau explains to Johnny that the Rider was once the Angel of Justice, Zarathos, but was tricked into going into Hell and was driven insane. Retaining his sense of justice, Zarathos became a Spirit of Vengeance, an entity who took pleasure in punishing the wicked regardless of their crimes, although Johnny questions if the Angel's benevolent spirit still exists. Johnny is successfully exorcised, but Methodius reveals his treachery and plans to kill Danny to prevent the Devil from taking over his body and achieving higher powers. Johnny, Moreau, and Nadya are imprisoned as Danny is about to be executed. However, Blackout arrives and kills Methodius and the monks, retaking Danny back to Roarke. Nadya is devastated by what has occurred, but Johnny swears to rescue Danny, even though his powers have been removed.
Armed from the Sanctuary weapons vault, the group makes their way to a Turkish coliseum, where Roarke and his followers gather to enact the trade. Moreau distracts the followers while Johnny attempts to free Danny, but is knocked back by Roarke while Moreau is killed by Blackout. The ceremony interrupted, Roarke opts to kill Johnny in retaliation. Danny, knowing that he has his father's abilities, returns Zarathos to Johnny, who becomes more powerful and is now able to exist in daylight, appearing to be in full control as well. Danny is taken again and a chase ensues between the Rider, Nadya, Blackout, and Roarke. The Rider dispatches Blackout and causes Roarke's vehicle to crash. The Rider confronts Roarke, who declares that Johnny is the worst deal he ever made. The Rider then literally sends Roarke back to Hell, slamming him into the fiery depths of the Earth. Nadya catches up, but is dismayed to find the Rider pulling Danny's lifeless body from the wreck of the car. Reverting back, Johnny says that he feels the Angel of Justice reawaken within him once more and resurrects Danny with the Angel's blue flames. Johnny then rides off, now engulfed in holy blue flames, declaring that he is "The Ghost Rider".