This paper considers which socio-economic factors in childhood and early adulthood are most strongly associated with social class differences in health at age 23. Longitudinal data from the 1958 (NCDS) cohort were used for this purpose. By age 23 class gradients were evident for several health measures, including self-rated health, 'malaise', psychological morbidity and height. The contribution of earlier socio-economic background was established by assessing how far class differences in the health indicators were reduced by controlling for earlier circumstances. While class differentials were not eliminated after taking account of earlier circumstances, substantial reductions were associated with a number of factors in childhood, in particular social class, housing tenure, crowding, family size and receipt of free school meals. More recent experiences of unemployment and family formation were also important.