도시의 전설에 대한 논문을 쓰고 있는 헬렌 라일(Helen Lyle: 버지니아 매드슨 분)과 친구 버나데트(Bernadette Walsh: 캐시 레몬스 분)는 캔디맨(Candyman: 토니 토드 분)이라는 카브리니그린의 전설 속의 인물에 대해 알게 된다. 거울에 비친 자신의 얼굴을 보며 캔디맨을 다섯번 말하면 잘린 오른손에 후크를 한 거구의 흑인이 나타나 후크로 몸을 찢어 죽여버린다는 것. 헬렌은 조사에 나선다. 소년이 살해된 공중 화장실에서 캔디맨 행세를 하는 갱단에게 폭행을 당하고, 그 범인을 잡지만, 캔디맨에 대한 의심은 남아 있다. 드디어 캔디맨은 헬렌 앞에 나타나고, 의식을 잃었던 헬렌이 깨어난 곳은 카브리니그린 지역의 피살된 여인의 옆집에 사는 앤의 화장실. 헬렌은 자기 손에 있는 식칼과 잘려진 개머리, 사라진 아기로 인해 구속당한다. 하지만 사라진 아기가 발견되지 않아 헬렌은 석방되고, 아파트에 와서 필림을 보다가, 거울 속에 비친 모습을 찍은 필림 뒤에는 캔디맨이 있는 것을 발견한다. 그리고 자기집에서 또다시 캔디맨을 만난다. 헬렌은 캔디맨에게 공격당하고 버나데트를 살해한 범인으로 몰려 정신병원에 갇힌다. 병원에서 의사와 상담하던 중 자신의 결백을 증명하기위해 거울을 보며 캔디맨을 다섯 번 부르자 다시 캔디맨이 나타나 의사를 살해한다.