At a fairground in rural Northern Ireland, Provisional IRA volunteer Fergus (Stephen Rea) and a unit of other IRA members, including a woman named Jude (Miranda Richardson) and led by Maguire (Adrian Dunbar), kidnap Jody (Forest Whitaker), a black British soldier, after Jude lures him to a secluded area with the promise of sex. The IRA demands the release of jailed IRA members, threatening to execute Jody in three days if their demands are not met. Fergus is tasked to guard Jody and develops a bond with the prisoner, much to the chagrin of the other IRA men. During this time, Jody tells Fergus the story of the Scorpion and the Frog.
Jody persuades Fergus to promise to seek out his girlfriend Dil (Jaye Davidson) in London should Jody be killed. The deadline set by Jody's captors passes and with none of the IRA's demands being met, Jody is to be executed. When Fergus takes him into the woods to carry out the sentence, Jody makes a break for it. Fergus cannot bring himself to shoot the fleeing Jody in the back, but Jody is accidentally run over and killed by a British Saracen armoured personnel carrier as they move in to assault the IRA safe-house. With his IRA companions seemingly dead after the attack, Fergus flees to London, where he takes a job as a day labourer, using the alias "Jimmy". A few months later, Fergus finds Dil at a hair salon. Later they talk in a bar, where he sees her singing "The Crying Game".
Fergus suffers from guilt about Jody's death and sees him in his dreams bowling a cricket ball to him. He pursues Dil, protecting her from an obsessive suitor and falling in love with her. Later, when he is about to make love to her in her apartment, he discovers that she is transgender. His initial reaction is of revulsion. Rushing to the bathroom to throw up, he accidentally hits Dil in the face. A few days later, he leaves her a note and the two make up. Despite everything, Fergus is still attracted to Dil. Around the same time, Jude unexpectedly reappears in Fergus' apartment. She tells him that the IRA tried and convicted him in absentia, and she forces him to agree to help with a new mission to aid in assassinating a judge. She also mentions that she knows about Fergus and Dil, warning him that the IRA will kill her if Fergus does not co-operate.
Fergus, unable to overcome his feelings for Dil, continues to woo her. To shield her from possible retribution, he gives her a haircut and menswear as a disguise. The night before the IRA mission is to be carried out, Dil gets heavily drunk and Fergus escorts her to her apartment, where she asks him to stay with her. Fergus complies, then admits he had an indirect hand in Jody's death. Dil, drunk, appears not to understand, but in the morning, before Fergus wakes up, Dil ties him to the bed. She unwittingly prevents Fergus from joining the other IRA members and completing the planned assassination. Holding Fergus at gunpoint, Dil forces him to tell her that he loves her and will never leave her. She unties him, saying that, even if he is lying, it is nice to hear his words. Dil then breaks down in tears.
Meanwhile, Jude and Maguire gun the judge down, but Maguire is shot dead by one of the bodyguards. A vengeful Jude enters Dil's flat with a gun, seeking to kill Fergus for missing the assassination. Dil takes several shots at Jude, hitting her, whilst stating that she is aware that Jude was complicit in Jody's death and that Jude used her sexuality to trick him. Dil finally kills Jude with a shot in the neck. She then points the gun at Fergus but lowers her hand, saying that she cannot kill him, because Jody will not allow her to. Fergus prevents Dil from shooting herself and tells her to hide out in the club for a while. When she is gone, he wipes her fingerprints off the gun (replacing them with his own), and allows himself to be arrested in her place.
A few months later, Dil visits Fergus in prison where he is serving six years. After discussing his post-release plans, she asks why he took the fall for her, and he responds, "As a man once said, it's in my nature." He then tells her the story of the Scorpion and the Frog.

Question: Why does Fergus want to throw up?
Answer: He finds out that Dil is Transgender
Alternative answer: He learns that Dil is transgender.