To demonstrate the association of socio-economic status with prevalence of coronary artery disease and coronary risk factors. Cross-sectional survey in two randomly selected villages in the Moradabad district in North India. One thousand seven hundred and sixty-seven subjects (894 males and 875 females; 25-64 years of age) were randomly selected from two villages. They were divided into social classes 1 to 4, according to education, occupation, housing conditions, ownership of land, ownership of consumer durables and per capita income. The survey was based on questionnaires administered by dietitians and physicians, physical examination and electrocardiography. Social classes 1 and 2 were mainly high and middle socio-economic groups and 3 and 4 low income groups. The prevalence of coronary artery disease was significantly higher among classes 1 and 2 in both sexes, and there was a higher prevalence of hypercholesterolaemia, hypertension, and sedentary lifestyle. This population also showed a significant association with higher serum cholesterol, body mass index, triglycerides and blood pressures. Logistic regression analysis with adjustment for age showed that social class positively related to coronary disease (odds ratio: men 0.83, women 0.61), hypercholesterolaemia (men 0.85, women 0.87), hypertension (men 0.89, women 0.87), body mass index (men 0.91, women 0.93) and smoking in men (0.68). Smoking and sedentary lifestyle were not associated with social class in women. The association between coronary artery disease and social class abated after adjustment for smoking, sedentary lifestyle, body mass index and blood pressure (odds ratio: men 0.96, women 0.81). Subjects in social classes 1 and 2 in rural North India have a higher prevalence of coronary artery disease and of the coronary risk factors hypercholesterolaemia, hypertension, higher body mass index and sedentary lifestyle. The overall prevalence of coronary artery disease was 3.3%.