MealsLunch6 min start to plate1 serving

Tuna and white bean bowl

The highest protein-per-calorie meal on the site, and it needs no heat at all. Yogurt stands in for mayonnaise, cannellini beans carry the fiber and enough carbohydrate to make it a meal, and the whole thing comes in under 300 kcal.

Calories
284 cal
per serving
Protein
39 g
per serving
Carbs
24.2 g
per serving
Fat
2.6 g
per serving

Calculated from 4 source records at the amounts in the ingredient table below. Nothing on this page is a hand-entered total.

Flaked tuna folded with yogurt over white beans and shredded romaine

Portion control

Dial the tuna and white bean bowl

Amounts are weighed in the state each source record is measured in, which is raw or dry for anything you cook. Change a number and every total below recalculates from the same records the baseline uses.

1 serving: 284 cal, 39 g protein.

1 serving

Calories
284 cal
Protein
39 g
Carbs
24.2 g
Fat
2.6 g
Fiber
Unavailable
Sugar
Unavailable
Sodium
469 mg
Ingredient amounts

2 macros cannot be totalled

  • Fiber has no value on these records:
    • Canned light tuna in water, drained
    • Greek yogurt, plain nonfat, as the dressing
    • Romaine lettuce, shredded
  • Sugar has no value on these records:
    • Cannellini beans, canned, drained and rinsed
    • Romaine lettuce, shredded

Summing only the ingredients that do carry a value would produce a smaller number presented as a complete one, so the figure is withheld instead.

Servings eaten
1 serving

The recipe as written yields 1 serving. Per serving it is 284 cal and 39 g of protein.

Substitution

Why this meal

Why this bowl is the ratio play

Every other lunch in this set spends calories to buy protein. This one spends fewer than any of them. The build here, 120 g of drained canned tuna, 80 g of plain nonfat Greek yogurt, 100 g of cannellini beans, and 60 g of shredded romaine, calculates to 284 kcal and 39 g of protein. That works out to roughly 13.7 g of protein for every 100 kcal in the bowl. The chicken rice bowl on this site delivers 41 g of protein, only 2 g more, but it costs 499 kcal to get there, which is 8.2 g of protein per 100 kcal. Same protein target, 215 fewer calories, and nothing goes in a pan.

The mechanism is one substitution. A tuna salad built on mayonnaise buys its creaminess with fat and adds almost nothing to the protein column. Swap the mayonnaise for plain nonfat Greek yogurt and the same texture now carries protein instead of just fat. That single swap is the entire reason this bowl beats a sandwich-shop tuna salad on the ratio that matters here.

Tuna and yogurt is not a combination most people reach for on their own, and pretending otherwise would be dishonest. The hesitation is fair. Fish and dairy read as a strange pairing on paper. It works because Greek yogurt strained thick is tart and neutral in the same way sour cream or crème fraîche is, and tuna salad already leans on something acidic and creamy to hold together, traditionally mayonnaise and a squeeze of lemon. Fold in lemon, black pepper, and capers or dill, and the yogurt disappears into the same role the mayonnaise used to play. Readers who cannot get past the idea of it should make it once before deciding, because the flavor on the fork is closer to a classic tuna salad than the ingredient list suggests. A reader who still cannot get past the yogurt after trying it can fold in cottage cheese instead, which carries a comparable protein density even though the curd texture reads nothing like the strained yogurt it replaces.

Cannellini beans and romaine round the bowl out to 24.2 g of carbohydrate and 2.6 g of fat. The beans carry most of the carbohydrate and give the bowl enough volume and structure to count as a real meal rather than a protein snack. The romaine adds bulk for close to nothing. Nothing in the bowl touches heat. Drain a can, rinse a can, fold two things together, and serve.

Calculated nutrition

What one serving contains

Every figure is scaled from the USDA records listed at the bottom of this page, summed at full precision, and rounded once. A macro that any ingredient record does not carry is reported as unavailable instead of being quietly dropped from the sum.

Calculated nutrition for Tuna and white bean bowl
MacroPer serving
Calories (cal)284 cal
Protein (g)39 g
Carbs (g)24.2 g
Fat (g)2.6 g
Fiber (g)Unavailable
Sugar (g)Unavailable
Sodium (mg)469 mg

Why fiber and sugar are unavailable

  • Fiber has no value in the USDA records behind these ingredients:
    • Canned light tuna in water, drained FDC 334194
    • Greek yogurt, plain nonfat, as the dressing FDC 330137
    • Romaine lettuce, shredded FDC 2346389
  • Sugar has no value in the USDA records behind these ingredients:
    • Cannellini beans, canned, drained and rinsed FDC 2644287
    • Romaine lettuce, shredded FDC 2346389

Adding up only the ingredients that do carry a value would produce a smaller number presented as a complete one, so the figure is withheld rather than under-reported. If your tracker demands a number, a blank field is a more accurate record than a zero.

Ingredients

The amounts that produce those numbers

Weigh in the state each line names. An ingredient whose page is already published links to it, and the rest are plain text until their page ships.

Ingredients for Tuna and white bean bowl, with the amount each contributes
IngredientWeighCaloriesProtein
Canned light tuna in water, drained120 g108 cal22.8 g
Greek yogurt, plain nonfat, as the dressing80 g49 cal8.2 g
Cannellini beans, canned, drained and rinsed100 g115 cal7.4 g
Romaine lettuce, shredded60 g12 cal0.6 g

Each amount is weighed in the state its source record is measured in, which is raw for meat and fish and dry for grains and pulses. That is also the state you weigh in, because the scale comes out before the pan does.

Method

How it comes together

  1. Drain the tuna properly and log the drained weight. The can's stated weight includes water you are pouring away.

  2. Rinse the beans under cold water for thirty seconds. The record here is already drained and rinsed, so this is what its sodium figure assumes.

  3. Fold the yogurt through the tuna with lemon, black pepper, and capers or dill if you have them.

  4. Serve over the shredded romaine rather than mixing it through, so the lettuce does not go limp before lunch.

Substitutions

What each swap costs

Each swap is recalculated end to end rather than patched, so the change and the resulting per-serving figures agree with what the recipe would report if it had been written that way from the start.

Canned light tuna in water, drained110 g Chicken, Broilers or Fryers, Breast, Meat Only, Cooked, Roasted

FDC 171477

Roasted chicken breast, weighed cooked, for readers who have hit their weekly tuna limit.

Per-serving change from swapping Canned light tuna in water, drained for Chicken, Broilers or Fryers, Breast, Meat Only, Cooked, Roasted
MacroChange per servingNew per serving
Caloriesup by 74 cal358 cal
Proteinup by 11.3 g50.3 g
Carbsdown by 0.1 g24.1 g
Fatup by 2.8 g5.4 g
FiberUnavailableUnavailable
SugarUnavailableUnavailable
Sodiumdown by 181 mg288 mg

Cannellini beans, canned, drained and rinsed100 g Chickpeas (garbanzo Beans, Bengal Gram), Canned, Sodium Added, Drained and Rinsed

FDC 2644288

Canned chickpeas instead. More energy per gram, similar fiber, and they hold their shape better in a lunchbox.

Per-serving change from swapping Cannellini beans, canned, drained and rinsed for Chickpeas (garbanzo Beans, Bengal Gram), Canned, Sodium Added, Drained and Rinsed
MacroChange per servingNew per serving
Caloriesup by 22 cal306 cal
Proteindown by 0.4 g38.6 g
Carbsup by 1.5 g25.7 g
Fatup by 2 g4.6 g
FiberUnavailableUnavailable
SugarUnavailableUnavailable
Sodiumup by 38 mg507 mg

Logging

Logging this bowl

Weigh the tuna after draining, not before. The can's stated weight includes the water you are pouring off, and logging the pre-drain weight against a drained-solids record overstates the water content as food. 120 g drained is the number this page's total is built on.

The beans matter for a different reason. The record behind this bowl is canned cannellini, sodium added, drained and rinsed, and its sodium figure already assumes the thirty-second rinse under cold water called for in the method. That rinse is not optional if you want the 469 mg of sodium this page reports to hold. Skip it and the true sodium in your bowl runs higher than what you log.

Two figures return unavailable on this bowl: fiber and sugar. The carbohydrate total lands fine at 24.2 g, so every ingredient here reports some carbohydrate, but not every one of them breaks that carbohydrate down further. The plain nonfat Greek yogurt record behind this bowl carries no fiber figure at all, which is one confirmed source of the gap. At least one other ingredient here carries no sugar figure either. Log this bowl knowing the blank fiber and sugar fields are missing data, not measured zeros, and do not fill either one in yourself.

This is the rare bowl on this site with no raw-to-cooked conversion to get wrong, because nothing in it gets cooked. Weigh the four components as they come out of the can, tub, and bag, and the number you log is the number you ate. Save it as a single recipe once you have made it twice, because the components do not vary the way a cooked dish's yield does.

If you have hit your weekly tuna limit, swap in 110 g of roasted chicken breast for the tuna and keep the yogurt, beans, and romaine as they are. If the bowl needs to survive a commute before lunch, swap the cannellini for the same weight of canned chickpeas. They carry more energy per gram, a similar fiber load, and hold their shape better in a lunchbox than cannellini do once they have been jostled around all morning.

Timing and goal fit

Timing and goal fit

This bowl earns its place on a day where the calorie budget is already mostly spent and 39 g of protein still needs to land somewhere. At 284 kcal it leaves more room in the day than any other lunch in this set while still clearing a meaningful per-meal protein number. Pair it against the chicken rice bowl baseline of 499 kcal and 41 g of protein and the gap is stark: almost the same protein, 215 fewer calories.

It is also the bowl to reach for on a low-appetite day. Cold, soft, and small in volume, it asks nothing of a reader who does not feel like eating much or chewing much. Nothing here needs to be reheated or plated, which matters when the effort of cooking is itself a barrier. A GLP-1 reader managing a shrunken appetite and an office worker eating at a desk from a can and a tub are solving the same problem, and this bowl solves it for both.

Skip this bowl in the two hours before a hard training session. The protein and volume are there, but the carbohydrate load is modest next to a bowl built around rice or oats, so it is not the meal to reach for when the goal is topping off glycogen before a session. It fits better as a non-training-day lunch, a second meal on a training day, or the meal you eat when the rest of the day has already used up the calories you had budgeted for food that requires a stove.

Built for

  • Lunch on a day where the calorie budget is already spent
  • Low-appetite meal that is cold, soft, and small in volume
  • Office lunch built from a can and a tub

Goals it serves

  • fat loss
  • glp 1
  • high protein
  • no cook

Dietary pattern

  • gluten free
  • pescatarian

Time

Prep
6 min
Cook
none
Total
6 min
Yield
1 serving

Sources

Where every number comes from

Source record behind each ingredient amount
IngredientSource recordFDC IDDataset
Canned light tuna in water, drainedFish, tuna, light, canned in water, drained solids334194Foundation Foods
Greek yogurt, plain nonfat, as the dressingYogurt, Greek, plain, nonfat330137Foundation Foods
Cannellini beans, canned, drained and rinsedBeans, cannellini, canned, sodium added, drained and rinsed2644287Foundation Foods
Romaine lettuce, shreddedLettuce, romaine, green, raw2346389Foundation Foods

How these numbers are produced

  • Every figure is scaled from the records above with the same function the food pages use, summed at full precision, split across the 1 serving this recipe yields, and rounded once at the end. No total on this page was typed by hand.
  • Cooked weights are shown so you know what to expect on the plate. They never enter a calculation, because the nutrition belongs to the weighed amount and not to the water it gained or lost.
  • Optional ingredients sit outside the baseline and are priced separately, so the headline macros describe the recipe as written.
  • A macro that any ingredient record does not carry is reported as unavailable rather than summed from the ingredients that do carry it. Across this dataset, fiber is absent on 165 of 405 records, and sugar is absent on 228 of 405 records, which is why this meal cannot report them.
  • Seasoning, stock, vinegar, and sauces are named in the method and excluded from the totals, because no record in the dataset prices them and a guessed figure is worse than a stated omission.

Data source

  • USDA FoodData Central Foundation Foods, exported 2026-04-30, 363 records normalized. Download the dataset.
  • USDA FoodData Central SR Legacy, exported 2018-04, 42 records normalized. Download the dataset.

Written by Stephen Walker. Published August 16, 2026. Last reviewed August 16, 2026.

Save this meal once and log it in seconds.

Take the gram amounts above into Fuel as a saved recipe, then adjust the one ingredient that changes day to day.

Download Fuel