The movie was actually conceived to have the character of Capitão Nascimento as a secondary character and Neto and Matias as main characters. It was only after the whole movie was shot that director José Padilha and writer Bráulio Mantovani were impressed with Wagner Moura's charisma on screen and decided to edit the film with his voice over, changing the focus of the story, thus turning Capitão Nascimento into a main character.
During the shooting of the film, a van with 90 firearms (30 real and 60 prop guns) was robbed in the hill of Chapéu Mangueira. Teams from the local police stormed the Favela Pavão-Pavãozinho, in Copacabana, to recover the guns, but the operation was only partially successful.
André Ramiro was called to audition after a friend of his suggested his name for the casting staff. His friend didn't get a part in the movie, but Ramiro went on to play a major part in it, even though he had not previous acting experience.
The university where part of the film was shot is PUC, located at the pleasant neighborhood of Gávea, at Rio de Janeiro, a very traditional elite school and considered the best private university in Brazil, and one of the best educational institutions in South America. This is where André Batista, one of the film's screenwriters, attended law school. He was a member of BOPE and was the inspiration for the character of André Matias, a honest man who finds himself torn between his life as a BOPE member and his life long dreams of being a lawyer.
This film was already a best-seller almost three months before its official release. Illegal copies of what the director called the "3rd cut" flooded the streets of all major capitals in Brazil, for the equivalent of five dollars a piece. Criminal investigation revealed that the original DVD was robbed in the Company Drei Marc, which does the subtitles. According to estimates at least three million people watched the bootleg version, which is six hundred thousand more than it managed during its theatrical run. However, it was the most seen Brazilian film that year in Brazilian theaters.
Caio Junqueira was initially considered too old for the part of Neto. He then auditioned for the part of Capitão Fábio, but he opted for a performance that would convince the casting staff that he could still be a viable choice for Neto, in spite of his age. He successfully conveyed that message, and Milhem Cortaz got to play Fábio instead.
The character Roberto Nascimento was named after Sandro Nascimento, the criminal that died right after being arrested by Rio de Janeiro police for hijacking a bus. His life was depicted in Bus 174 (2002), directed by Tropa de Elite's José Padilha.