Researchers at Tufts University, Massachusetts, found that altering the types of protein and carbohydrate-rich foods a person eats can cause weight gain or weight loss.
The study, published in the American Journal of Clinical Nutrition, found that increasing intakes of red meat and processed meat were most strongly associated with weight gain.
On the flip-side, intakes of yogurt, seafood, skinless chicken and nuts were most strongly associated with weight loss - the more people ate these foods, the less weight they gained.
Altering the amount of other dairy products in a person's diet, including full-fat cheese, whole milk, and low-fat milk, did not significantly relate to either weight gain or weight loss.
"Our study adds to growing new research that counting calories is not the most effective strategy for long-term weight management and prevention," senior author Dariush Mozaffarian said in a statement.
"Some foods help prevent weight gain, others make it worse. Most interestingly, the combination of foods seems to make a big difference.
"Our findings suggest we should not only emphasise specific protein-rich foods like fish, nuts, and yogurt to prevent weight gain, but also focus on avoiding refined grains, starches, and sugars in order to maximize the benefits of these healthful protein-rich foods, create new benefits for other foods like eggs and cheese, and reduce the weight gain associated with meats."
This isn't the first study to suggest meat can play a significant part in weight gain.
Previous research by Harvard University linked both processed and unprocessed meats to inhibiting weight loss.
"Our findings indicate that small dietary and other lifestyle changes can together make a big difference, for bad or good," Dr Dariush Mozzafarian told HuffPost Healthy Living at the time.
"For diet ... eat fewer starches and refined foods like potatoes, white bread, low-fiber breakfast cereals, processed meats, sweets and soda."