The Mycobacterium tuberculosis (Mtb) heme oxygenase MhuD liberates free iron by degrading heme to the linear tetrapyrrole mycobilin. The MhuD dimer binds up to two hemes within the active site of each monomer. Binding the first solvent-exposed heme allows heme degradation and releases free iron. Binding a second heme renders MhuD inactive, allowing heme storage. Native-mass spectrometry revealed little difference in binding affinity between solvent-exposed and solvent-protected hemes. Hence, diheme-MhuD is formed even when a large proportion of the MhuD population is in the apo form. Apomyoglobin heme transfer assays showed MhuD diheme dissociation is far slower than monoheme dissociation at ~0.12 min-1 and ~0.25 s-1, respectively, indicating that MhuD has strong affinity for diheme. MhuD has not evolved to preferentially occupy the monoheme form and, through formation of a diheme complex, it functions as part of a larger network to tightly regulate both heme and iron levels in Mtb.