A third of the cancers diagnosed each year in the UK - more than 100,000 - are caused by smoking, alcohol, unhealthy diets and obesity, research showed.
The most comprehensive review of cancer and lifestyles ever conducted in the UK showed that 45 percent of all cancers in men could be prevented, compared with 40 percent of cancers in women.
Smoking is still the most important factor when it comes to causing cancer. The study found it was responsible for 23 per cent of cancers in men and 15.6 per cent in women.
But the review also found that a lack of fruit and vegetables was responsible for 6.1 percent of cancers in men, while being overweight causes 6.9 per cent of cancers in women.
"Many people believe cancer is down to fate or 'in the genes' and that it is the luck of the draw whether they get it," according to the study's author, Professor Max Parkin from Queen Mary, University of London.
"Looking at all the evidence, it is clear that around 40 per cent of all cancers are caused by things we mostly have the power to change."
The work by Cancer Research UK found there were an estimated 314,250 cases of cancer across Britain last year, with tobacco responsible for causing 60,837 of them.
"We know, especially during the Christmas party season, that it is hard to watch what you eat and limit alcohol, and we do not want people to feel guilty about having a drink or indulging a bit more than usual," the charity's Sara Hiom said.
"But it is very important for people to understand that long-term changes to their lifestyles can really reduce their cancer risk."
The full research was published in the British Journal of Cancer.