Eating less meat may be the key to keeping a healthy weight, say researchers.
A European study of almost 400,000 adults found that eating meat was linked with weight gain, even in people taking in the same number of calories.
The strongest association was found with processed meat, such as sausages and ham, the Imperial College London team reported.
It suggests that high-protein diets may not help slimmers in the long run.
The findings, published in the American Journal of Clinical Nutrition, also support public health messages advocating cutting down on the amount of meat we eat, the researchers said.
The study looked at data from adults taking part in a large project looking at the link between diet and cancer.
Participants from 10 European countries, including the UK, were weighed and measured at the start and then asked to report their weight five years later.
They also filled in a detailed food questionnaire.
Overall, the researchers found that meat consumption was associated with weight gain in both men and women.
More detailed analyses showed that the link was still significant after taking into account overall calorie intake, physical activity and other factors which may have skewed the results.
The team calculated that in people who ate the same number of calories, an extra 250g of meat a day - equal to a small steak - led to an additional weight gain of 2kg (5lbs) over five years.
It counters the theory that diets with high amounts of protein and low amounts of carbohydrate promote weight loss.
Although it is not clear why meat would lead to weight gain in people eating the same number of calories, one theory is that energy-dense foods like meat alter how the body regulates appetite control.
But there could also be another lifestyle or dietary explanation for the link that was not accounted for by the study.
Study leader Dr Anne-Claire Vergnaud said: "I would recommend to people to control their consumption of meat to maintain a healthy weight and good health in general during life."
But she added: "Decreasing the amount of meat alone would not be an adequate weight loss strategy."
Sian Porter, a dietician and spokeswoman for the British Dietetic Association, said there were caveats in the study, including the fact that at the end-weight was self-reported.
But she said it was an interesting finding.
"We eat more meat than we need.
"What I say to my patients is to think about variety - so have an egg for breakfast instead of bacon, cheese for lunch instead of ham and fish for the evening meal.
She advised people to eat lots of lentils and pulse, wholegrains, fruit and veg and oily fish as well as meat.
"Portion size is the other thing - a portion of meat should be about the size of a deck of cards."