Red meat has been linked to cancer for decades, with research suggesting that eating large amounts of beef, lamb or pork raises the risk of deadly tumours.
But for the first time scientists think they know what is causing the effect. The body, it seems, views red meat as a foreign invader, prompting a toxic immune response.
Researchers have always been puzzled about how other mammals could eat a diet high in red meat without any adverse health consequences.
Now they have discovered that pork, beef and lamb all contain a sugar that is naturally produced by other carnivores but not humans.
When humans eat red meat, the body generates an immune response to the foreign sugar, producing antibodies that cause inflammation, and eventually cancer.
In other carnivores the immune system does not kick in, because the sugar, called "Neu5Gc" is already present.
Scientists at the University of California proved that mice which were genetically engineered so they did not produce Neu5Gc naturally developed tumours when they were fed the sugar.
The research was published online in the journal, Proceedings of the National Academy of Sciences.
"This is the first time we have directly shown that mimicking the exact situation in humans increases spontaneous cancers in mice," said Dr Ajit Varki, Professor of Medicine and Cellular and Molecular Medicine at the University of California.
"The final proof in humans will be much harder to come by. This work may also help explain potential connections of red meat consumption to other diseases exacerbated by chronic inflammation, such as atherosclerosis and type 2 diabetes. Of course, moderate amounts of red meat can be a source of good nutrition for young people."
Health experts say red meat provides protein, vitamins and minerals, but too much is bad for long-term health. They recommend eating no more than 2.5oz (70g) a day, the equivalent of three slices of ham, one lamb chop or two slices of roast beef a day.