A cross-sectional analysis of the baseline survey of the German Cardiovascular Prevention Study was carried out to analyse the relationship between four different social class characteristics and major risk factors for coronary heart disease. 4,796 randomly selected German residents aged 25-69 years participated in the health survey between 1984 and 1986. The response rate was 66.2%. No significant association with social class variables was observed for prevalence of hypertension, hypercholesterolaemia or low high density lipoproteins. Multiple logistic regression analysis showed that obesity and lack of physical activity were significantly more prevalent in lower social classes for both sexes, while for cigarette smoking this relationship held for males only. The strongest social class gradient was found for lack of physical activity, adjusted odds ratio 4.75, P less than 0.001, comparing lowest social class by composite index to highest. The number of coronary heart disease risk factors per study subject increased strongly with decreasing social class. Education, measured as years of schooling, showed a stronger association with coronary heart disease risk factors than household income, occupational status, or a three-dimensional composite index of social class. These findings indicate the need to focus on lower social class population groups when carrying out community-based coronary heart disease primary prevention programmes, particularly with regard to smoking, obesity, and lack of physical activity.