Involved in the biosynthesis of L-tartarate from L-ascorbate (PubMed:31488549). Catalyzes the NAD(P)H-dependent reduction of 2-dehydro-L-idonate (2-keto-L-gulonate) to L-idonate (PubMed:31488549). Can also reduce hydroxypyruvate to glycerate, glyoxylate to glycolate and pyruvate to D-lactate (PubMed:31488549). Prefers NADPH to NADH as proton donor (PubMed:31488549). L-idonate + NADP(+) = 2-dehydro-L-idonate + H(+) + NADPH L-idonate + NAD(+) = 2-dehydro-L-idonate + H(+) + NADH (R)-glycerate + NADP(+) = 3-hydroxypyruvate + H(+) + NADPH glycolate + NADP(+) = glyoxylate + H(+) + NADPH glycolate + NAD(+) = glyoxylate + H(+) + NADH (R)-lactate + NADP(+) = H(+) + NADPH + pyruvate (R)-lactate + NAD(+) = H(+) + NADH + pyruvate Optimum pH is 7.5. Optimum temperature is 37 degrees Celsius. Forms homodimers. Belongs to the D-isomer specific 2-hydroxyacid dehydrogenase family.