55年。しがない私立探偵ハリー・エンゼル(ミッキー・ローク)は、黒人ばかりの教会で、爪を長くのばしたルイ・サイファー(ロバート・デ・ニーロ)から仕事を依頼された。戦前の人気歌手ジョニー・フェイヴァリットを探してほしいというのだ。彼は戦争の後遺症で精神病院へ収容されているはずだが、病院の記録を見ると彼は退院したことになっている。しかし、当時はまだなかったはずのボールペンで書かれているので、あやしんだハリーは主治医ファウラー(マイケル・ヒギンズ)を訪ねた。彼は、モルフィネ中毒でジョニーが男女2人に連れられて退院したことを話す。一度外出してもどってくると、ファウラーは惨殺されていた。ジョニーが占い師とつきあっていたことをつきとめ、彼女の行方を追ってニューオリンズへ。安ホテルにとまり、占い師のマーガレット(シャーロット・ランプリング)に会い、ジョニーのことを聞き出そうとするが失敗する。ジャズクラブでかつてのジョニーの同僚ツーツ・スイート(ブラウニー・マッギー)に話をきこうとして叩き出されたり、ジョニーの愛人だった黒人女性宅を訪ね、母は死んだと娘のエピファニー(リサ・ボネー)に聞かされた。マーガレットが殺される。ヴードゥ教の巫女であるエピファニーと情を通じ、絶頂時に彼女の首をしめかけるハリー。マーガレットの父イーサン(ストッカー・フォントリュー)も殺される。ハリーはジョニーがニューヨークのタイムズ・スクエアである人と会ったことをつきとめた。ニューオリンズでルイ・サイファーに会い、彼が実はルシファー、つまり悪魔であることが判明。ジョニーは悪魔と契約してハリーになったのだ。エピファニーの死体を前に、ジョニーは「俺の娘だ」という。これまでの殺人はすべて彼が犯していたのだった。