あらすじ:ネタバレなし部分まで
1992年、コロンビアのボゴタ。マフィアの幹部であるファビオは、機密情報入りのメモリーカードを狙って、マフィアのボスであるドン・ルイスの指示で、妻とともに殺害されてしまう。
その娘である9歳のカトレア(幼少期 アマンドラ・ステンバーグ)は、父親に機密情報でアメリカと取引を行い、その後、シカゴに住む叔父を頼りなさいと言われていた。
カトレアは、ルイスに暗殺を指示されて追ってきたマルコ(ジョルディ・モリャ)の手のひらをナイフで刺し、逃げて大使館へと向かう。アメリカへと渡ることとなったカトレアは、監視の目をかいくぐって空港から逃亡し、叔父のエミリオ・レストレポ(クリフ・カーティス)のもとへと向かう。
カトレアは、復讐のため、すぐに暗殺者としてのトレーニングを受けたいと言うが、エミリオも息子を仕事により亡くしていた。そのため、カトレアを学校へ通わせたいと考えていたのだった。
15年後、カトレア(ゾーイ・サルダナ)は美しい凄腕暗殺者となり、すでに22人もの犯罪者を抹殺していた。彼女は、ターゲットの遺体の近くにはカトレアの花を残しており、それは両親を殺した復讐相手ドン・ルイスをおびき寄せるためだった。だが、叔父のエミリオは危険であり、やめるべきだとカトレアに怒る。
一方、CIAのエージェントであるスティーブ・リチャードは、証人保護プログラムを受けているドン・ルイス、マルコにカトレアを見つけ出すよう命令する。
あらすじ:ネタバレあり・結末まで
カトレアは、別人の「ジェニファー」として、画家のダニー・デラネイ(マイケル・ヴァルタン)と交際していた。ダニーは、彼女の背景などについて何も知らず、知りたいと思っていた。そこでダニーは、彼女の寝顔を写真で撮り、友人に相談していた。
その友人はこっそりとFBI職員の義妹に調べてもらう。このことがきっかけで、彼女を探していたFBIによりカトレアの住むアパートにSWAT部隊が到着したのだった。
カトレアは間一髪難を逃れ、エミリオの身を案じて彼の家へと向かう。だが、すでにエミリオたちはマルコらの手によって殺害されていた。
カトレアは、FBI捜査官ジェームズ・ロス(レニー・ジェームズ)のもとへと向かい、家族を殺害すると脅してドン・ルイスの居場所を言わせようとする。情報を手に入れたカトレアは、ドン・ルイス邸へと向かうのだった。
マルコがセキュリティ体制を綿密にチェックする中、カトレアがロケットランチャーを放つ。さらには一気呵成にマシンガンで次々とルイスの手下を始末するのだった。
さらに、カトレアはマルコを倒し、その隙にドン・ルイスは逃げ出そうとする。車でドン・ルイスはカトレアに電話をするのだが、その車にはカトレアが飼う犬が乗っており、ドン・ルイスに襲い掛かるのだった。
ダニーがロスFBI捜査官に呼ばれる中、カトレアは彼に電話をかけ、愛していると伝えてすぐに切るのだった。