The purpose of the present paper is to describe differences in work environment and life style factors between social classes in Denmark and to investigate to what extent these factors can explain social class differences with regard to changes in self-rated health (SRH) over a 5 year period. We used data from a prospective study of a random sample of 5001 Danish employees, 18-59 years of age, interviewed at baseline in 1990 and again in 1995. At baseline we found higher prevalence in the lower classes of repetitive work, low skill discretion, low influence at work, high job insecurity, and ergonomic, physical, chemical, and climatic exposures. High psychological demands and conflicts at work were more prevalent in the higher classes. With regard to life style factors, we found more obese people and more smokers among the lower classes. The proportion with poor SRH increased with decreasing social class at baseline. The follow-up analyses showed a clear association between social class and worsening of SRH: The lower the social class, the higher the proportion with deterioration of SRH. There was no social gradient with regard to improved SRH over time. Approximately two thirds of the social gradient with regard to worsening of SRH could be explained by the work environment and life style factors. The largest contribution came from the work environment factors.