Poor social circumstances in childhood are associated with increased risk of coronary heart disease (CHD). In previous studies, social circumstances and risk factors in adulthood have been suggested to explain this association. In the present study, we included potential explanatory factors from childhood and adolescence. We investigated the association between childhood socio-economic position (SEP) and CHD in middle age among 49,321 Swedish males, born during 1949-51, who were conscripted for military service at 18-20 years of age. Register-based data on childhood social circumstances, educational attainment and occupational class in adulthood were used in combination with information on cognitive ability, smoking, body mass index and body height in late adolescence obtained from a compulsory conscription examination. Incidence of CHD from 1991 to 2007 (between 40 and 58 years of age) was followed in national registers. We demonstrated an inverse association between childhood SEP and CHD in middle age: among men with the lowest childhood SEP the crude hazard ratio of CHD was 1.47 (95% CI = 1.30-1.67). Adjustment for crowded housing in childhood, body height, cognitive ability, smoking and BMI in late adolescence attenuated relative risks of CHD considerably. Additional adjustment for educational level had a further, although limited, attenuating effect on associations, but additional adjustment for occupational class had no such effect. Results showed that social, cognitive and behavioural factors evident prior to adulthood may be of greater importance in explaining the association between childhood SEP and CHD later in life than socio-economic indicators in adulthood.