Sam Dalmas, an American writer with writer's block, is spending time in Rome with his girlfriend, Julia. Walking home one night, he sees a woman, Monica Ranieri, being attacked inside an art gallery by a figure in a black raincoat and gloves. He tries to help, but gets trapped between the gallery's two automatic glass doors, unable to do anything as the attacker flees. Monica survives.
The police, led by Inspector Morosini, take Sam's passport because he is a key witness in the case of a serial killer who has murdered several young women. Sam begins his own investigation, convinced he saw something important that night.
He traces the case to a disturbing painting of a man stabbing a girl in the snow, which was the last item sold by the first victim. The killer phones Sam, threatening to kill Julia unless he drops the case, and Sam records the call. The painter tells Sam the picture was inspired by a real attack on a young woman ten years earlier. The killer then tries to attack Julia alone in the apartment, but Sam gets back just in time.
The police isolate a strange noise on the recording. Sam's ornithologist friend Carlo identifies it as the call of a rare bird from the South Caucasus, "the bird with the crystal plumage", whose only specimen in Italy lives in a Rome zoo. At the zoo, Sam sees that the Ranieri apartment overlooks the bird's cage. Screams lead them to the apartment, where Monica and Alberto are struggling over a knife. Alberto falls from the window and, dying, confesses to all the murders.
Then Julia disappears. Sam finds her bound and gagged in a dark apartment, with Carlo dead, and turns to see Monica in a black raincoat, laughing. He realises that in the gallery he had not seen Monica being attacked, but Monica trying to kill Alberto. He chases her to the gallery, where she pins him under a heavy spiked sculpture and threatens him with a knife, until the police, alerted by Julia, burst in and arrest her.
A psychiatrist later explains on television that Monica was attacked ten years earlier. Seeing the painting of that attack drove her to identify with the attacker rather than the victim. Alberto, caught up in her madness, helped cover up the murders.