Cast entirely with non-professionals, Battle in Heaven tells the story of Marcos (Marcos Hernandez), the middle-aged chauffeur of Ana (Anapola Mushkadiz), daughter of a Mexican general. Marcos is the only member of Ana's household who knows she leads a double life. Although a child of Mexico's political elite, Ana amuses herself by working as a prostitute in a high-end brothel. But, Marcos also has a secret. He and his wife (Berta Ruiz) kidnapped a baby for ransom and the infant died in their custody. When he confesses to Ana, a bond of secrecy consecrated by the flesh unites them. As the police draw closer, Ana urges Marcos to turn himself in, but he seeks redemption from a higher power...