Purpose Reasons for the social gradient in cancer survival are not fully understood yet. Previous studies were often only able to determine the socio-economic status of the patients from the area they live in, not from their individual socio-economic characteristics. Methods In a multi-centre cohort study with 1633 cancer patients and 10-year follow-up, individual socio-economic position was measured using the indicators: education, job grade, job type, and equivalence income. The effect on survival was measured for each indicator individually, adjusting for age, gender, and medical characteristics. The mediating effect of health behaviour (alcohol and tobacco consumption) was analysed in separate models. Results Patients without vocational training were at increased risk of dying (rate ratio (RR) 1.5, 95% confidence interval (CI) 1.1-2.2) compared to patients with the highest vocational training; patients with blue collar jobs were at increased risk (RR 1.2; 95% CI 1.0-1.5) compared to patients with white collar jobs; income had a gradual effect (RR for the lowest income compared to highest was 2.7, 95% CI 1.9-3.8). Adding health behaviour to the models did not change the effect estimates considerably. There was no evidence for an effect of school education and job grade on cancer survival. Conclusions Patients with higher income, better vocational training, and white collar jobs survived longer, regardless of disease stage at baseline and of tobacco and alcohol consumption.