The movie was originally written to star Sylvester Stallone and Kevin Spacey. Spacey was supposed to be the hostage-taker and Stallone playing opposite him. When Stallone turned down the part, Spacey decided he wanted the other part and had his original part recast. (Samuel L. Jackson got the role.)
The nighttime crowd scenes outside the skyscraper were filmed on two consecutive nights in September 1997, from about 5 p.m. to 7 a.m. Due to cold rain and winds, many extras defected during the night or developed antagonistic relationships with production assistants. When the filming finished for the night, the small percentage of extras remaining actually ran back to the holding area in the food court of a nearby mall to turn in their vouchers and go home as soon as possible.
Filming of Roman and the hostages in the Internal Affairs' offices took place at a studio Los Angeles. In order to simulate the Chicago skyline that can be seen looking out the window, a 160x40 feet poster was created using 6 cameras placed on the 20th floor of 77 West Wacker Drive in Chicago, looking outside the window. The poster was placed outside the office movie set in Los Angeles.
When Danny (Samuel L. Jackson) gets on the radio and talks to all of his co-workers from the Department, he claims that he knows "the rules of engagement" as a warning to whomever might try to breach and take him out. In 2000, Samuel L. Jackson starred in the movie "Rules of Engagement".
The wife of Danny Roman's partner, Nate Roenick, mentions their son, Jeremy. Jeremy Roenick is the name of a hockey player who used to play for the Chicago Blackhawks in the city where the movie is set.