Objectives. The aim of this study was to explore the relationship between risk factors for coronary heart disease (CHD) and perceived stress, adjusted for socio-economic position. Design. Cross-sectional analysis of CHD risk factors, perceived stress and socio-economic position. Method. A cohort of employed Scottish men (N = 5848) and women (N = 984) completed a questionnaire and attended a physical examination. Results. Higher socio-economic groups registered higher perceived stress scores. Perceived stress was associated with the following CHD risk factors in the expected direction: high plasma cholesterol, little recreational exercise, cigarette smoking, and high alcohol consumption. Contrary to expectations, stress was related negatively to high diastolic blood pressure, body mass index (BMI) and low forced expiratory volume. Correction for socio-economic position tended to abolish the associations between stress and physiological risk factors; the associations between stress and behavioural risk factors withstood such correction. The residual patterns of associations between perceived stress and CHD risk were broadly similar for men and women. A lower BMI, a greater number of cigarettes smoked, and greater alcohol consumption were associated with higher levels of perceived stress for both sexes. Lower levels of recreational exercise were associated with higher levels of stress for men only. Conclusions. Self-reported stress is related to health-related behaviours and to physiological CHD risk factors. The direction of the association with physiological risk was often contrary to expectation and appeared to be largely due to confounding by socio-economic position. In contrast, the association with health-related behaviours was in the expected direction and was largely independent of such confounding.