Journaliste déchu, Max Brackett
(Dustin Hoffman) est limité à quelques reportages sans envergure sur KXBD, une chaîne de télévision locale à Madeline, en Californie. Il est ainsi chargé par son supérieur Lou Potts
(Robert Prosky) d'interviewer M
me Banks
(Blythe Danner), la conservatrice d'un museum dont les budgets ont été restreints. Il est présent quand Sam Baily
(John Travolta), un gardien récemment licencié, fait irruption avec un fusil à pompe et un sac bourré de dynamite, et menace la directrice. Paniquant, le chômeur bloque toutes les issues, interdisant la sortie à quelques enfants et leur institutrice
(Tammy Lauren) venus en visite. Grâce à Laurie Callahan
(Mia Kirshner), camérawoman débutante se trouvant à l'extérieur, Max Brackett passe en direct aux actualités présentées par Malt Dohlen
(William Atherton). Par maladresse, le coup part et Sam blesse accidentellement son collègue noir Cliff Williams
(Bill Nunn) qui se trouvait à l'entrée. Laurie porte secours au gardien, rapidement emmené à l'hôpital. Voyant en cette affaire le scoop qui le remettra en selle, le journaliste gagne la confiance de Sam, naïf et désespéré père de famille. Sous prétexte de l'aider, il lui prodigue des conseils transformant cette incident en véritable prise d'otages, qui attire une foule de badauds et de journalistes. Brackett obtient la libération de deux enfants – tous bien traités – contre une interview exclusive, qu'Alvin Lemke
(Ted Levine), le chef de la police chargé de l'affaire, accepte après quelques flatteries. La prodigieuse sympathie du public qui en découle à l'égard de Baily motive Kevin Hollander
(Alan Alda), le présentateur vedette de la chaîne nationale CTN, à se déplacer pour couvrir l'événement. L'agent spécial Dobbins
(Raymond J. Barry) débarque lui aussi et place des snipers en attendant que le criminel commette une faute. Pour cela, il incite Jenny Baily
(Lucinda Jenney) à communiquer avec son mari, qui réagit en tirant au-dessus de la foule. Cet acte discréditant Sam, Max envoie son assistante faire quelques interviews favorables. Mais, en promettant à Max de le reprendre sur la chaîne nationale en effaçant leur différend datant de deux ans, Hollander s'approprie le tout. Avec l'aide de Laurie qui l'admire, il monte des images qui terminent de décrédibiliser le gardien au chômage, tout en dénonçant l'attitude opportuniste et manipulatrice de son rival. Se sentant trahi, Baily décide de libérer les enfants, au moment-même où Dobbins profite de l'opinion défavorable pour l'inciter à déposer les armes, et où Diane Williams
(Akosua Busia) annonce la mort de son mari Cliff. Alors que Max implore les forces de l'ordre de baisser leurs armes, Sam, resté seul à l'intérieur, se fait exploser... Désemparé, le journaliste clame la responsabilité des médias dans cette tragédie...