La coproducción franco-colombiana-española La Virgen de los Sicarios es una adaptación de la novela homónima del escritor colombiano Fernando Vallejo, autor asimismo del guión.
Cuando Barbet Schroeder se entrevistó con el novelista por primera vez, tenía la intención de llevar al cine alguna de sus novelas pero había descartado, precisamente, La Virgen de los Sicarios por dos motivos:
Porque la novela era un largo monólogo que obligaría a utilizar la voz en off, cosa que no deseaba, y porque había demasiados asesinatos: dieciocho. Le parecía que eran muchas muertes para un largometraje y que resultaría tedioso.
Sin embargo, Fernando Vallejo convenció a Schroeder de que podía escribir el guión sin usar la voz en off. En cuanto al número de muertos, director y guionista negociaron cuantos dejaban y cuantos eliminaban.
La Virgen de los Sicarios es la historia de un escritor, Fernando, que tras treinta años de ausencia vuelve a su ciudad natal, Medellín, para morir allí.
Una vez en la urbe colombiana conoce a un adolescente, Alexis, y entre ambos se inicia una relación que acabará convirtiéndose en amor.
Alexis es un muchacho de las llamadas "comunas" (barrios pobres) de Medellín y un pequeño asesino que, como pronto descubrirá el escritor, mata de forma habitual y por cualquier motivo.
Fernando se horroriza ante la naturalidad con que este niño practica y asume la violencia pero se ha enamorado y no está dispuesto a dejar a Alexis, con lo que se convierte en observador e, indirectamente, cómplice de los asesinatos del muchacho.
Al mismo tiempo, el escritor descubre una realidad distinta a la que recordaba de su infancia en Medellín. Y, así, la ciudad se convierte en un personaje más de la película, casi en la protagonista, vista a través de los recuerdos de Fernando y de la realidad que ahora se nos muestra.
Respecto a los actores del reparto, el protagonista, Fernando, está interpretado por un actor profesional, Germán Jaramillo, con una larga trayectoria teatral a sus espaldas.
Para los otros dos personajes principales de la película, Schroeder decidió buscar a chicos de las "comunas" que interpretasen unos papeles muy parecidos a sus vidas reales. Por ejemplo:
Según cuenta Schroeder, Anderson Ballesteros, cuando fue elegido para el papel de Alexis vivía solo con su hermano de 13 años en uno de estos barrios, acababa de cumplir tres meses de cárcel y su madre estaba en prisión. Durante el rodaje fue citado por secuestro y ataque a mano armada a un taxista. Un día llegó con los pies destrozados y contó al director que, la tarde anterior, había asaltado a un transeúnte junto con tres amigos. Los cuatro se habían repartido y gastado el producto del robo cuando un policía les detuvo y les obligó a dar sus zapatos a la víctima, lo que le obligó a caminar dos horas, descalzo, hasta su casa.
También contó el director que Juan David Restrepo (Wilmar) estaba en la lista de un grupo que decía ser de "limpieza social" y, para evitar que lo mataran, tuvieron que trasladarlo a un apartamento cercano al rodaje. Un día, Juan David le comentó a Schroeder que la noche anterior, miembros de una banda rival habían entrado en la casa de su mejor amigo y habían matado a la madre de este y que tendría que ir con sus compañeros a vengarse o se pondría él mismo en peligro. Cuando vino a la mañana siguiente a la prueba de maquillaje dijo que el asesino de la madre de su amigo había muerto la tarde anterior...
Cuando la película se estrenó en el 2000, una parte de la sociedad colombiana se mostró ofendida por la mala imagen que, consideraban, La Virgen de los Sicarios daba de Medellín. Otros consideraron que la película se limitaba a reflejar una triste realidad: la del asesinato como forma de vida.