Es ist das Jahr 1928. Christine Collins (Angelina Jolie) lebt alleinerziehend mit ihrem Sohn Walter. Sie arbeitet für eine Telefongesellschaft und ihr Sohn ist ihr ein und alles. Eines Tages springt sie unerwartet für eine Kollegin ein und als sie verspätet nach Hause kommt ist Walter verschwunden. Auch eine Vermisstenanzeige bringt nichts. Walter taucht nicht wieder auf.
Vater Gustav Briegleb (John Malkovich) nutzt die Gunst der Stunde, um in seiner Radiosendung und auf der Kanzel darauf hinzuweisen, dass man den Jungen wohl nicht finden wird, weil das LAPD ja bekannt ist als legale Version der Mafia und die Korruption dermaßen tief gedrungen ist, dass die Polizei ja eigentlich die wahren Verbrecher sind.
Dann taucht die Polizei mit einem Jungen auf, von dem sie behaupten, es sei Walter. Aber Christine weiß, er ist es nicht. Und sie weist mehrmals (auch öffentlich) darauf hin. Was die Polizei dazu veranlasst sie mit allen möglichen Mittel zu diskreditieren und ihre geistige Gesundheit in Abrede zu stellen. Ein Höllenritt beginnt an dessen Ende 20 tote Kinder stehen und die Gewissheit für immer in Ungewissheit leben zu müssen …