En undercover betjent, Chan Kam-wah, der efterforsker en gruppe smykketyve, afslører sit dække og bliver stukket ihjel af tre gerningsmænd på et gademarked. Hans overordnede, inspektør Lau, beordrer Ko Chow, en anden undercover-politimand, til at genoptage efterforskningen. Ko Chow accepterer modvilligt, fordi han under sin tidligere undercovermission måtte anholde en person, der havde stolet på ham som ven.
Røverne overfalder en smykkefabrik, men det lykkes nogen at advare politiet. En af røverne, Fu, dræber en politimand, hvilket starter en ildkamp med de nærmer sig politifolk. Banden undslipper med nød og næppe. Politidirektøren opretter en særlig specialstyrke til at efterforske banden under ledelse af den unge inspektør John Chan. Der opstår en stærk rivalisering mellem Lau og Chan; Chan anser Lau for at være gammeldags og ude af sin egen verden, mens Lau anser Chan for at være uerfaren og arrogant.
For at nå ud til banden tilbyder Chow dem våben til salg gennem mellemmanden Tai Song. Under det første møde med bandemedlem Fu bliver de skygget af medlemmer af kriminalpolitiet under kommando af Chan (som ikke er klar over, at Chow er undercover-politimand). Efter Chan Kam-wahs begravelse mødes Chow med Lau, som giver ham en nøgle til et skab i en bowlinghal, hvor våbnene skal gemmes væk. Chow fraråder at udlevere rigtige våben, men Lau insisterer for ikke at miste sporet af banden.
Chow mødes med sin kæreste Hung, som han kort forinden havde friet til. Da Chow beder hende om at udskyde ægteskabet, indtil hans sag er afsluttet, forlader hun hysterisk rummet.
Forud for udleveringen af våbnene binder Chow en optager om sin talje. Han mødes med tre af bandemedlemmerne. Chow bliver kropsvisiteret, men det lykkes ham at distrahere dem fra båndoptageren. Fu er tilfreds med prøvepistolen og instruerer Chow om at mødes med ham igen om to dage ved middagstid for at købe yderligere pistoler og ammunition.
Den næste dag mødes Chow med Lau og beder ham om yderligere våben. Lau har brug for tid til at skaffe dem, men forsikrer Chow, at han vil deponere dem to timer før den aftalte overdragelse til Fu i bowlinghallen. I mellemtiden pakker Hung sine tasker for at tage et fly til Canada med Tso, en ældre forretningsmand, som tidligere havde tilbudt at forlade sin kone for hende. Da Chow får det at vide i telefonen, beder han hende om at gifte sig med ham med det samme for at få hende på andre tanker. Hung siger til ham, at han skal bevise, at han er oprigtig ved at møde op på folkeregisterkontoret kl. 10.00 næste dag, men dagen efter venter hun der forgæves sammen med sin veninde Rose.
På vej til bowlingbanen bliver Chow skygget af politifolk. Da han opdager dette (og da det er en forbrydelse at have pistolerne), ringer han til Lau. Lau fortæller ham, at politifolkene er fra Chans afdeling, og beordrer ham til at fortsætte, mens han vil ordne situationen med Chan. Under samtalen med Chan nævner han Chow som stikker, men holder sin status som undercoverbetjent hemmelig. Chan afviser Lau’s anmodning om at afblæse eftersøgningen af Chow.
Nu på egen hånd ryster Chow sine politiforfølgere af sig ved en MTR-station ved at stige ombord på et afgående tog. Mens han henter tasken med pistolerne, lægger han mærke til Fu på bowlingbanen. Da han forlader bygningen, ankommer politiet. Det lykkes Chow at flygte ved at springe ud af et vindue og bliver samlet op på gadeplan af Fu, der nærmer sig i en bil. De kører til bandens skjulested, da deres leder ønsker at møde Chow. Han tilbyder Chow at deltage i et kommende stort røveri.
Fu kører Chow til lufthavnen, hvor han møder Hung, der er ved at gå om bord på et fly til Canada sammen med Tso. Chow forsøger at få hende på andre tanker, men bliver arresteret af politiet for at sælge våben (mens Hung går om bord på flyet). På politistationen bliver Chow tæsket og tortureret af Chans mænd, der vil vide, hvem der har købt våbnene. Chans overordnede kommer ind i lokalet, beordrer Chans mænd til at løslade Chow og kalder Chan og Lau ind på sit kontor. Lau indrømmer, at han har givet Chow våbnene i forbindelse med våbenhandlen, men tier om, at Chow er en undercoverbetjent. Da ulovlig besiddelse af et skydevåben er en mindre forseelse, foreslår Chan, at Chow deltager i overfaldet for at fange røverne på fersk gerning. Lau mener, at det er for stor en risiko, men i sidste ende beordrer politichefen Chows deltagelse i det planlagte røveri.
Der er fire mulige smykkeforretninger, som banden kan røve. Alle har svage sikkerhedsforanstaltninger, værdifulde varer og ligger ved trafikerede veje. Efter røveriet planlægger banden at køre til et skjulested i havneområdet, hvor en båd vil samle dem op den følgende dag. Politiet er uvidende om, hvilken butik der vil blive angrebet, men planlægger at holde flere politihold i beredskab i nærheden.
Aftenden på røveriet beordrer bandelederen deltagerne til at samles i en lejlighed. Af sikkerhedsmæssige årsager skal de tilbringe den resterende tid inden røveriet sammen og aflevere deres personsøgere. Chow skriver adressen på skjulestedet på et stykke papir, men er ikke i stand til at videregive den til sine politikolleger. Chow og Fu deler et værelse og taler om deres historie og fremtidsplaner – Fus kone forlod ham, og han så aldrig sin søn igen, hvortil Chow fortæller ham, at hans kone også forlod ham, og mændene kommer hinanden mere og mere nær. I løbet af natten læser Chow et brev fra Hung, der fortæller ham, at hun ikke tog til Canada med Tso, men venter på ham på Hawaii.
Den næste morgen beordrer politiledelsen politiholdene ud af beredskab, da de ikke længere forventer, at røveriet snart vil finde sted. Dette er en fejlvurdering, da bandelederen kalder sine mænd sammen og udpeger Tai Kong-smykkebutikken som deres mål. Da de særlige politihold har trukket sig tilbage, bliver butikken kun bevogtet af to civilklædte politifolk i en patruljevogn. Overfaldet begynder, da fire af røverne går ind i butikken, trækker deres pistoler og forlanger at få fat i smykkerne. Fu og Chow venter ved indgangen for at holde øje med gaden, mens bandelederen venter i en flugtbil. Der går det op for Chow, at det var Fu, som øjenvidnerne beskrev som den politimorder, der startede ildkampen under røveriet på smykkefabrikken.
Da alarmen i butikken udløses, skyder Big Song (en af røverne) en ekspedient. Mens de forsøger at flygte til deres biler, åbner de to politibetjente, der bevogter butikken, ild og sårer bandemedlem Bill. En af flugtbilerne bliver stoppet af politiet. Fu, Chow, Joe og Big Song er nødt til at efterlade Bill under kraftig beskydning. Joe bliver dræbt af politiet, mens Big Song forsøger at lave en anden flugtbil med en kortslutning. I en dristig manøvre konfronterer Fu en politibil, der nærmer sig, og dræber de fire politifolk i bilen, selv om han bliver skudt i skulderen. Chow redder Fu’s liv ved at dræbe den politimand, der skød på Fu.
Fu, Chow, Big Song og Bony (det fjerde overlevende bandemedlem) flygter med den stjålne bil til skjulestedet ved havnen, hvor de møder bandelederen, der allerede ventede på dem. I mellemtiden finder politiet Chows seddel med adressen på gemmestedet på skudstedet.
Lederen har mistanke om en forræder blandt banden, da politiet ankom for hurtigt til gerningsstedet. Han inkriminerer Chow, da han først for nylig har sluttet sig til deres rækker. Big Song og Fu forsvarer Chow, og der opstår et mexicansk opgør.
Politiet ankommer og omringer skjulestedet med dusinvis af mænd. Da Chan beder mændene om at overgive sig, skyder Big Song på politiet. De åbner ild og dræber ham. Bony forsøger at overgive sig og bliver skudt af bandelederen for fejhed. Da bossen også forsøger at skyde Chow og Fu, dræber de ham i stedet. Chow bliver såret af en politikugle og indser, at hans skade er dødelig. Han tilstår over for Fu, at han er betjent, og beder om en hurtig død, men Fu føler sig ikke i stand til at dræbe Chow. Mens politiet stormer skjulestedet og anholder Fu, dør Chow ved siden af ham. Lau er rasende over hans død og smadrer en mursten i hovedet på Chan (der allerede praler over for en overordnet om sin succes) og stormer af sted.