James (Christian Bale) kommer ifrån sina föräldrar i Shanghai under andra världskriget. Han plockas upp av en amerikanen Frank, som tar med honom hem till sig och kompisen Basie (John Malkovich). Tillsammans hamnar de i ett fångläger där de kämpar för att överleva sjukdomar och svält.