When a GLP-1 shrinks your appetite, the question stops being "which foods are high in protein" and becomes "which foods give me the most protein for the few bites I can manage". That is protein density, grams of protein per mouthful, and it is the measure that actually helps here. The foods that win are Greek yogurt, eggs, fish, chicken, tofu, cottage cheese, edamame and a scoop of a complete protein powder.
This matters because a GLP-1 changes the problem. You are not trying to resist food. You are trying to fit enough protein into an appetite that fills up fast, so you hold onto muscle while you lose fat.
Why protein matters more when a GLP-1 shrinks appetite
Some of the weight lost on a GLP-1 is not fat. In a 2024 analysis in Diabetes, Obesity and Metabolism, lean mass made up roughly 15 to 60 percent of the total weight people lost across GLP-1 studies, depending on the trial and how it was measured. Muscle is part of lean mass, and losing it quietly costs you strength and the energy your body burns at rest.
That is why the nutrition guidance written specifically for this moment keeps pointing at protein. A 2025 joint advisory in Obesity Pillars and a 2026 European consensus from EASO, EFAD and ECPO both put adequate protein and whole foods near the top of the list during GLP-1 weight loss. Neither sets a calorie target, and neither should be read as one.
The real measure: protein per bite
On a normal appetite you can hit your protein with almost anything if you eat enough of it. On a GLP-1 you often cannot eat enough of it, so bulk works against you. A large bowl of broth-based soup might carry 6 grams of protein and fill you completely. Three bites of Greek yogurt can carry more than that and leave room.
So rank foods by density. The winners pack a lot of protein into a small, soft, easy volume. The losers are foods that are technically "high protein" but come with so much water, fiber or fat that you fill up long before the protein adds up. This single shift, choosing by grams per bite, is usually what turns a stuck protein number around.
The staples that win on density
These are the foods that consistently deliver the most protein for the least volume, and that tend to sit well on a sensitive GLP-1 stomach:
Greek yogurt and skyr, which carry around 10 grams of protein per small pot and go down easily. Eggs and egg whites, soft and quick. Fish such as salmon, tuna and cod, tender and protein-dense. Chicken and turkey, best shredded or minced so they are easy to chew when appetite is low. Tofu, tempeh and edamame for plant-based days. Cottage cheese, which is high in protein and gentle. And a scoop of a complete protein powder in milk, which is the densest option of all when solid food simply will not fit, covered in our guide to protein shakes on a GLP-1.
For a wider pantry list that is not GLP-1 specific, see high-protein foods for weight maintenance.
A second thing separates these staples from merely high-protein foods: they tend to be complete proteins, meaning they carry all nine of the amino acids your body cannot make itself. Dairy, eggs, fish, meat, soya and a good whey or soya powder all qualify. Most single plant sources do not on their own, so on plant-based days it helps to combine them, for example beans with grains, or to rely on soya foods and a complete powder. On a small appetite, where every bite has to count, complete proteins give you more muscle-protecting value for the volume than an incomplete source of the same grams.
How much protein you are aiming for
You need a number to aim at, and it should be a floor, not a ceiling. OffRamp sets your protein floor at 1.6 grams per kilogram of your goal weight, rounded to the nearest 5 grams. It uses goal weight rather than current weight because protein needs track lean body mass, and it is a floor to protect muscle rather than a diet target. There are no calorie numbers attached to it anywhere.
If you have kidney disease or another reason to limit protein, that number is a conversation for your clinician, not a default to follow.
Getting it in when a few bites is all you can manage
The practical move is to front-load. Appetite on a GLP-1 is usually highest earlier in the day, so put protein at breakfast and lunch rather than banking on a dinner you may not finish. Our piece on a high-protein breakfast shows how to build that first meal. If early fullness is the main barrier, what early satiety is and why it happens explains the mechanism and how to work with it.
Small and frequent beats large and occasional here. A pot of yogurt, two eggs, a few bites of fish, a half-scoop shake, spread across the day, will usually clear the floor more reliably than one big meal you cannot face.
Building a day around the floor
A workable day looks like this: a protein-led breakfast, a dense protein at lunch, a shake or yogurt if the afternoon is thin, and whatever protein you can manage at dinner. You are not counting calories, you are watching one number climb toward your floor.
OffRamp tracks that single number against your floor and shows whether a small eating day still reached enough protein to protect muscle, without a calorie target in sight. On the days a GLP-1 makes food hard, seeing the floor met is the reassurance that the important box is ticked.



