Après la guerre indo‑pakistanaise de 1971, qui a donné naissance au Bangladesh, et la défaite avec capitulation sans condition de l’armée pakistanaise, une trentaine de soldats indiens n’ont pas été libérés par les Pakistanais. En 2003, quelque 33 ans après la guerre, les tensions entre les deux pays persistent et ils sont au bord d’un nouveau conflit. Les responsables politiques et militaires indiens savent que des soldats sont prisonniers, mais ne peuvent rien entreprendre, car toute action risquerait de mettre leur vie en danger. Les organisations de défense des droits de l’homme sont tenues dans l’ignorance, et les prisonniers sont transférés vers d’autres lieux dès que la rumeur de l’arrivée d’un de ces groupes parvient jusqu’aux prisons.
Un groupe de soldats et leur officier commandant, Ranvir Kaul (Amitabh Bachchan), sont capturés derrière les lignes ennemies au Cachemire occupé par le Pakistan. Son fils naïf, Gaurav (Akshaye Khanna), tente de le faire évader et, pour cela, il a besoin de l’aide d’un prisonnier cynique (Sanjay Dutt) qui refuse de coopérer. Lorsqu’il reçoit une preuve que son père, Ranvir Kaul, est toujours en vie, Gaurav décide de se rendre au Pakistan pour essayer de le libérer. Sans qu’il le sache, son père a déjà essayé de s’évader 17 ou 18 fois, pour être systématiquement repris et battu brutalement par ses geôliers. On explique à Gaurav qu’entrer au Pakistan, c’est comme entrer dans une souricière : une fois dedans, il est impossible d’en sortir, quels que soient les efforts déployés.