里昂·蒙泰拿(尚·雷諾飾)是意大利裔美国人頂尖殺手,孤身一人在紐約小意大利为身為同鄉的意大利餐廳老板東尼(丹尼·艾洛飾)執行“清潔工作”:清除社區內的惡棍。里昂時時戒備,連睡覺都坐在沙發睡。沒有個人生活、僅愛獨自看老電影、養一盆萬年青當唯一的好朋友。他一日於自家公寓內遇到年僅12歲卻偷溜出門抽菸的鄰居女孩瑪蒂達·蘭度(娜塔莉·波曼飾),里昂應允替瑪蒂達保守這個秘密;發現她臉上有被毆打的痕跡時,遞給她手帕以示安慰。
瑪蒂達與父親及繼母、繼姊、繼弟同住,其家庭功能失調。瑪蒂達逃學過甚,將被送到感化學校去。所有比她年長的家庭成員都對她行使肢體或精神暴力,只有4歲的弟弟與她感情深厚。繼姊會為了小事而毆打馬蒂達;繼母賣淫且無視家暴行為;父親亦家暴次女,如今的他因黑吃黑緝毒署黑警託管的毒品而惹禍上身,遭全家滅門–適逢瑪蒂達獨自出門購物,順便幫留下好印象的里昂買牛奶。她回家時正見父親陳屍門口內,一時不敢相認,強忍驚懼地逕直走去敲里昂的門。從窺孔中看見一切的里昂猶豫良久,終於還是開門。
里昂逗悲傷的瑪蒂達開心,聽她傾訴。也被瑪蒂達發現他的真實工作。里昂打算趁她睡著時滅口,卻下不了手。第二天早上,里昂趕她離開,瑪蒂達表示無處可去並要求里昂收留她教她本事,里昂丟給她一把槍要她出去,瑪蒂達欲趁機證明自己可以開槍而對窗外胡亂掃射–然而里昂認為她引起的動靜太大,只好帶著她搬離公寓。
兩人轉移陣地後,里昂發現這個機伶的女孩還是有點用。里昂開始教她初步的殺手技巧,並強迫瑪蒂達喝牛奶與戒菸;瑪蒂達幫里昂做家務並教他識字。兩人在文化認識上毫無交集,瑪蒂達卻還是將他當成愛侶並向他表白。里昂不知如何面對這份突如其來的感情,卻也逐漸打開心扉,告訴瑪蒂達自己悲痛的初戀往事、飄洋到美國成為與父親一樣的殺手、為什麼將盆栽當朋友:「它永遠都很開心,從不問問題,而且也跟我一樣—無根。」以及為什麼只坐著睡。後來還交代東尼,如果自己出事,要將所掙的錢全留給瑪蒂達。
瑪蒂達偷偷回到已成命案現場的家裡取回家人生前存起的私房錢,適逢警察到場查案問話,湊巧偷聽到帶頭殺死其家人的黑警頭子史丹菲爾的身份及辦公處所。瑪蒂達裝扮成送貨小妹,孤身遣入緝毒署內欲報仇,卻遭識破並被抓起來。“清潔”完史丹菲爾的手下後,回家的里昂見到瑪蒂達留的字條及留給他的全部錢財後,趕往救人。
由於與黑幫交涉的手下遇刺,自己又被殺上門來,史丹菲爾找上東尼並挾持其家人,以逼問里昂的下落。隔天,埋伏於門外的特警挾持瑪蒂達想騙里昂開門,卻因瑪蒂達故意報錯暗號而遭里昂反擊。里昂救回瑪蒂達後,史丹菲爾命特警傾巢而出,並帶上榴彈發射器等重武器。
里昂持斧破開牆內的通風管道,然而空間不足,只有體型較小的瑪蒂達能勉強通過,里昂讓她帶著盆栽經由管道逃生去找東尼,兩人在生死關頭彼此互訴衷情。房門遭重武器轟開後,里昂趁煙霧迷漫之際穿戴上特警的面罩、制服、及裝備,冒充受傷的特警隊員混出重圍,但仍被史丹菲爾識破,背後中槍倒地。瀕死的里昂乘史丹菲爾近前探視之機,引爆裝身上的手榴彈同歸於盡。
里昂死後,馬蒂達請求東尼像當初收留里昂一樣收留自己成為殺手,東尼立刻戳破她已成年的謊言,隨後以瑪蒂達年齡還小為由,建議先由他保管里昂留給她的錢,需要錢時再來找他。瑪蒂達獨自乘坐纜車來到了位於羅斯福島上的感化學校請求收留,並將里昂生前唯一的朋友—那盆萬年青移出了窄小的花盆—栽種在樹蔭下的大地,里昂終得落葉歸根。