Optimal medical care is critically dependent on clinicians' skills to make the right diagnosis and to recommend the most appropriate therapy, and acquiring such reasoning skills is a key requirement at every level of medical education. Teaching clinical reasoning is grounded in several fundamental principles of educational theory. Adult learning theory posits that learning is best accomplished by repeated, deliberate exposure to real cases, that case examples should be selected for their reflection of multiple aspects of clinical reasoning, and that the participation of a coach augments the value of an educational experience. The theory proposes that memory of clinical medicine and clinical reasoning strategies is enhanced when errors in information, judgment, and reasoning are immediately pointed out and discussed. Rather than using cases artificially constructed from memory, real cases are greatly preferred because they often reflect the false leads, the polymorphisms of actual clinical material, and the misleading test results encountered in everyday practice. These concepts foster the teaching and learning of the diagnostic process, the complex trade-offs between the benefits and risks of diagnostic tests and treatments, and cognitive errors in clinical reasoning. The teaching of clinical reasoning need not and should not be delayed until students gain a full understanding of anatomy and pathophysiology. Concepts such as hypothesis generation, pattern recognition, context formulation, diagnostic test interpretation, differential diagnosis, and diagnostic verification provide both the language and the methods of clinical problem solving. Expertise is attainable even though the precise mechanisms of achieving it are not known.