NOTE: Martin Scorsese's Oscar winning film THE DEPARTED is a remake of this film
Yan (Tony Leung Chiu Wai) is a cop working undercover in a triad. Ming (Andy Lau Tak Wah) is a gangster working in the police department as a mole. A drug deal which is intercepted tips off both sides as to the moles within their ranks. The only person who knows that Yan is really a cop is killed. Yan discovers Ming is the mole within the police just when Ming has decided he no longer wants to be a mole, but wishes to be a truly good policeman and kills his triad boss Sam. Yan arranges a meeting with Ming where he arrests Ming, but they are interrupted by another cop Billy (Lam Ka Tung), who kills Yan. It turns out that Sam planted more than one mole within the police department and Billy is another one. Realising that Billy is the only other person who knows of his mole status, Ming kills Billy.
Ending 1 (outside China): Ming explains the deaths by exposing Billy as "the mole". He tells his colleagues Billy shot Yan, and he in turn had to shoot Billy. Several months later evidence emerges which proves that Yan was an undercover policeman, and he is given a hero's burial.
Ending 2 (in China): Ming is arrested for his mole activities. While it is not explained how his colleagues found out, one possibility is that Yan delivered his evidence (sound recordings of conversations between Ming and Sam) to the department before meeting Ming
LONG VERSION: (Including alternate endings)
Yan (Tony Leung Chiu Wai) is a Hong Kong cop working as an undercover mole for Superintendent Wong (Anthony Wong Chau Sang). Only SP Wong and the headmaster of the police academy know of his mole status. Yan has infiltrated the triad/gang run by Sam (Eric Tsang Chi Wai), and communicates with SP Wong using morse code. Yan is tired of living as a mole and tells SP Wong he wants out, but SP Wong is determined to convict Sam and convinces Yan to continue.
Coincidentally, Sam has a mole in the police department, Ming (Andy Lau Tak Wah). Ming was sent by Sam into the police academy and proved to be an excellent cadet, getting promoted quickly in the police force.
A drug deal at the beginning of the film reveals the presence of a mole to both sides. Yan gives SP Wong information allowing police to intercept the financial transaction, but Ming sends Sam a message to abort the deal in time for Sam's henchmen to dispose of the cocaine (the key evidence needed by the police). Ironically, Ming is assigned the task of finding the mole hiding in the police force. Ming starts to struggle with staying loyal to Sam as he is enjoying his successful career as a detective.
Sam, frustrated by his inability to find the mole within the triad, has his triad members interrogate SP Wong. When SP Wong fails to give Yan up, they throw him off a tall building. A shootout between police and triad members ensues and Keung (Chapman To), a friend of Yan's within the triad, is fatally wounded. Yan tries to save him but fails. He then tells Sam that he discovered Keung was the mole.
Ming gets promoted and takes over SP Wong's former role. At another drug bust Ming confronts Sam. Full of hatred for who Sam is and for what he himself has become, Ming kills Sam. He no longer wants to be a mole but aspires to be a true policeman.
Since the headmaster of the academy died some years ago, and SP Wong is dead, nobody can verify Yan's true identity as a cop. Yan, desperate, goes to see Ming to get his help in proving that he is really a cop. However while in Ming's office he realises Ming is Sam's mole, when he sees an envelope with Keung's handwriting on the desk - an envelope Sam previously passed documents to his mole in. Yan runs away while Ming is occupied elsewhere, and when Ming returns he sees the envelope and realises that Yan knows who he really is.
Yan sends a CD to Ming's house of recordings of Ming's conversations with Sam. The conversations are clear evidence that Ming is the mole. Mary (Sammi Cheng Sau Man), Ming's fiancee, listens to the CD and confronts Ming when he returns home. Ming tells her he will give Yan his real identity back and "be the good guy". Yan meets Ming on top of a tall building and pulls a gun on him. He then handcuffs Ming and reads him his rights and marches him into the elevator. However another police officer, Billy (Lam Ka Tung), shows up and shoots Yan. He gets into the lift with Ming and the now-dead Yan and returns Ming his gun, saying that he has never been able to get ahead in his career as a cop but now Ming owes him one and will help him. It turns out that Sam planted not one but five moles within the police force and this officer is another one of them. The lift doors close and Ming realises that Billy is the only other person who knows of his mole status. We hear two shots. When Ming emerges on the ground floor he is greeted by more policemen.
Ending 1 (shown outside China):
Ming tells them he found out that Billy was the mole, that Billy killed Yan, and that he had to shoot Billy. Ming privately shows some regret at having caused the death of Yan, an honorable policeman, but escapes punishment as nobody suspects he is the mole. At the end of the film we are told that several months later, Yan's file was discovered in the old headmaster's records, which proved he had been a undercover cop, and that Yan was given a hero's burial.
Ending 2 (shown in China):
The police who meet Ming when the lift doors open read him his rights and arrest him for conspiracy (i.e. being the mole). It is not clear how they found out but one explanation would be that Yan mailed the recordings of Ming's conversation to the police station.
(Links open in new window)
Read more about this film at The Internet Movie Database.