Eat your veg - it could be the next best thing to giving up smoking, because scientists have found that a diet rich in cruciferous vegetables - cabbage, broccoli and Brussels sprouts - protects against lung cancer.

However, the protective effect only works in people who have inactive versions of one or both of two specific genes - about half of the population. Among those with the inactive genes who ate cabbage or its relatives at least once a week, the risk of lung cancer was cut by a third. The effect was seen only in smokers. Among non-smokers, in whom lung cancer is rare, there was no difference between those who ate cabbage and those who did not.

Many health claims have been made for cruciferous vegetables, which contain high concentrations of isothiocyanates which prevent lung cancer by increasing the excretion of tobacco-derived toxins. The level of isothiocyanates in the body is controlled by two genes - GSTM1 and GSTT1 - which determine how quickly they are eliminated. People with inactive forms of these genes have higher levels of isothiocyanates because they do not produce the enzymes that break them down.

A total 52 per cent of people have inactive versions of one or the other, while 8 per cent have inactive versions of both.

The study of lung cancer patients by researchers from the International Agency for Research on Cancer in Lyons, France, found that those with the inactive form of GSTM1 had a 33 per cent reduced risk of lung cancer. Among those with the inactive form of GSTT1, the effect was greater, with a 37 per cent reduced risk. In those with both genes, the risk was cut by 72 per cent. People with the active form of the genes had no protection.