20 High-Protein, Low-Calorie Meal Ideas (With Macros)

9 min read

Every meal below clears 17g of protein and stays under 425 calories. Most land between 200 and 400. They're built from the same lean proteins, vegetables, and measured starches that fill the top of our satiety rankings — the foods that buy the most fullness per calorie.

The number to watch in the tables is the last column: protein per 100 calories. It's the cheapest possible way to say "is this meal actually protein-dense, or just big?" A meal at 12g of protein per 100 calories hits a 150g protein target inside 1,250 calories. A meal at 5g needs 3,000. Same protein, wildly different room left in your day.


Breakfast

MealProtein / Carbs / FatCaloriesProtein per 100 kcal
Egg-white veggie scramble — 150g egg whites, 1 whole egg, 100g spinach, 100g mushrooms29 / 9 / 7~21014g
Greek yogurt protein bowl — 200g nonfat Greek yogurt, 15g whey, 100g blueberries33 / 22 / 2~24014g
Cottage cheese berry bowl — 200g low-fat cottage cheese, 100g blueberries25 / 21 / 2~20512g
Savory cottage cheese toast — 1 slice whole-wheat bread, 150g cottage cheese, sliced bell pepper23 / 24 / 3~21011g
Protein overnight oats — 40g dry oats, 25g whey, 100g strawberries26 / 37 / 4~2859g

Breakfast is where most people's protein goes missing — cereal, toast, fruit, and a coffee is a 300-calorie meal with 8g of protein in it. The four fixes above are all the same trick: put a dairy or egg protein at the center of the plate and let the fruit or grain orbit it.

Lunch

MealProtein / Carbs / FatCaloriesProtein per 100 kcal
Shrimp cauliflower-rice stir-fry — 180g shrimp, 200g cauliflower, 100g green beans, 1 tsp olive oil49 / 17 / 6~32015g
Turkey black-bean bowl — 150g turkey breast, 100g cooked black beans, salsa, 100g bell pepper54 / 34 / 2~37514g
Chicken lentil soup — 100g chicken breast, 150g cooked lentils, 100g mushrooms, 100g spinach51 / 37 / 5~39513g
Chicken and rice bowl — 150g chicken breast, 100g cooked rice, 150g broccoli53 / 39 / 6~42513g
Tuna chickpea salad — 100g canned tuna, 100g cooked chickpeas, 100g bell pepper, 1 tsp olive oil36 / 33 / 9~35510g

Protein weights are raw for meat and fish, cooked for grains and legumes — the same convention as the nutrition labels and databases you'll be logging against. (If you tend to weigh chicken after cooking, that gap is bigger than you'd think.)

Dinner

MealProtein / Carbs / FatCaloriesProtein per 100 kcal
Chicken and vegetable stir-fry — 150g chicken breast, 150g broccoli, 100g bell pepper, 1 tsp olive oil52 / 17 / 11~37514g
Tilapia, quinoa, asparagus — 170g tilapia, 100g cooked quinoa, 150g asparagus52 / 27 / 7~37514g
Lean beef and zucchini skillet — 150g 93% lean ground beef, 200g zucchini, 100g mushrooms37 / 10 / 11~29013g
Pork tenderloin and sweet potato — 150g pork tenderloin, 150g sweet potato, 150g broccoli38 / 41 / 4~35011g
Baked cod, potatoes, green beans — 200g cod, 200g potato, 150g green beans, 1 tsp olive oil43 / 47 / 7~42010g

Note what dinner doesn't have: oil measured by pour, cheese by handful, or sauce by ladle. A tablespoon of olive oil is 120 calories and zero protein — it will quietly cost you more than the potato does. Cook with a teaspoon, a spray, or a non-stick pan and spend the calories somewhere they buy fullness.

Snacks

SnackProtein / Carbs / FatCaloriesProtein per 100 kcal
Whey shake in water — 30g whey protein24 / 2 / 1~11521g
Greek yogurt + powdered peanut butter — 170g nonfat Greek yogurt, 12g PB powder25 / 10 / 3~16515g
Beef jerky — 50g17 / 6 / 4~12014g
Cottage cheese and strawberries — 150g low-fat cottage cheese, 100g strawberries19 / 13 / 2~14013g
Edamame — 150g shelled17 / 15 / 8~1959g

Snacks are the easiest place to add 20g of protein for the price of a granola bar, and the easiest place to lose 400 calories to almonds. Both of those are true of the same food category — the difference is entirely in protein per calorie.


How to Hit a Protein Target Without the Calories Following

Protein targets aren't hard because protein is hard to find. They're hard because most protein arrives with fat attached, and fat is 9 calories a gram. Cheese, nuts, peanut butter, and whole eggs are all "high-protein foods" in the sense that they contain protein — but you have to eat 400+ calories of them to get 25g of it.

Here's what the same 100 calories buys you, using the values from our food database:

Food (per 100 kcal)Protein
Shrimp24g
Turkey breast23g
Cod23g
Canned tuna (in water)23g
Egg whites23g
Whey protein powder21g
Chicken breast20g
Low-fat cottage cheese17g
Nonfat Greek yogurt17g
93% lean ground beef14g
Salmon10g
Whole eggs8g
Lentils (cooked)8g
Cheddar cheese6g
Peanut butter4g
Almonds3g

The spread from top to bottom is roughly eightfold. Shrimp and almonds are both protein sources; one of them lets you hit 150g of protein in 625 calories and the other needs 4,400. That single ratio is what separates a meal plan that fits a deficit from one that doesn't — and it's the same idea as the protein-to-energy ratio behind the PE Diet and the fullness score behind our Satiety-per-Calorie Calculator.

Four practical rules fall out of the table:

  1. Pick the protein first, then build the plate around it. Every meal above starts with a lean protein and adds vegetables and a measured starch. Reverse the order and the protein becomes a garnish.
  2. Spend your fat deliberately, not accidentally. Salmon, whole eggs, and olive oil earn their calories — dressing, cooking oil, and cheese on autopilot usually don't. The fat you chose is fine; it's the fat you didn't notice that closes the deficit.
  3. Use volume to cover the gap. Vegetables cost 20–40 calories per 100g and take up real space in your stomach. Doubling the broccoli is the cheapest way to make a 350-calorie dinner feel like a meal — the principle behind volume eating.
  4. Let a shake or a lean dairy snack close the day. If you're 25g short at 9pm, whey in water costs about 115 calories and cottage cheese about 140. Very little else does that.

None of this requires eating every meal on this list. Swapping one 400-calorie, low-protein meal a day for a 350-calorie, 40g-protein one moves your daily total by 30g of protein and down in calories — which is the entire mechanism.


Meal Prep Notes

The reason high-protein eating fails is almost never the food. It's 7pm on a Tuesday with nothing cooked.

  • Batch the protein, not the meal. Cook 1–1.5kg of chicken, turkey, or lean beef at once and portion it plain. Assembled meals get boring by day three; plain protein plus whatever vegetable and sauce you feel like that night doesn't.
  • Weigh protein raw, before cooking. Cooking drives off water, so 150g of raw chicken can weigh 110g when it comes out of the pan — same protein, very different number on the scale. Pick one convention and stick with it.
  • Keep two no-cook proteins in the fridge at all times. Greek yogurt, cottage cheese, canned tuna, or pre-cooked shrimp. These are what stand between a bad day and takeout.
  • Prep vegetables in bulk, roast on a single tray. Broccoli, peppers, zucchini, and green beans all roast at the same temperature. One tray, 25 minutes, three days of side dishes.
  • Freeze in single portions. Chili, soup, and cooked lean ground beef freeze well; a labeled single-serve container is a meal, whereas a big frozen block is a project.
  • Pre-portion the fat. Measure oil with a teaspoon rather than pouring it. This one change is often worth 100–200 calories a day and costs you nothing you'd miss.

Everything on this page is general nutrition information, not personalized advice — calorie needs, food preferences, allergies, and any medical conditions are yours to account for.


FAQ

What are the best high-protein low-calorie foods? By protein per calorie, the leaders are shrimp, turkey breast, cod, canned tuna in water, egg whites, whey protein, and chicken breast — all delivering roughly 20–24g of protein per 100 calories. Nonfat Greek yogurt and low-fat cottage cheese follow at about 17g. Everything else you've heard called "high-protein" — cheese, nuts, peanut butter, whole eggs — carries enough fat that you'd need three to eight times the calories for the same protein.

How much protein can I eat on 1,500 calories? Comfortably 120–150g, if your meals average 10g of protein per 100 calories or better — which every meal on this page does. Three meals and a snack from the tables above lands near 130–150g of protein in roughly 1,000–1,200 calories, leaving real room for the rest of your day. The Protein Calculator sets a target from your bodyweight and goal.

What's a good high-protein breakfast under 300 calories? Any of the four breakfasts above. The most protein-dense are the Greek yogurt bowl (33g protein, ~240 calories) and the egg-white scramble (29g, ~210). Both work because the protein source is nonfat or near-nonfat dairy or egg white — the fat is what would otherwise push a 250-calorie breakfast to 500.

Do I need protein powder to hit a high protein target? No. It's a convenience, not a requirement — whey is simply the cheapest way, in calories, to add 20–25g of protein when whole food would take a full meal. Every shake on this page can be replaced with cottage cheese, Greek yogurt, eggs, or a lean meat; you'll add some calories doing it, so trim a starch portion to compensate.

Is a high-protein diet good for weight loss? Higher-protein diets are consistently associated with greater fullness and better retention of lean mass during weight loss, both of which make a calorie deficit easier to hold. The deficit is still what drives fat loss — protein makes it more livable rather than replacing the arithmetic.


Next Steps

Try the PE Diet Calculator

Enter the macros for any food and instantly see its Protein-to-Energy ratio, calorie breakdown, and macro percentages.

Use the Calculator