📁 last Posts

10 Cheap Weight Loss Lunch Ideas

Common mistake: choosing a lunch by calories alone and skipping protein and fiber. The fix: 10 Cheap Weight Loss Lunch recipes built on beans, lentils, tuna and eggs, priced by their own source pages at $0.54 to $1.22 per serving. They suit anyone packing lunch on a tight budget, with calories, protein and fiber listed wherever each source gives them.

At a Glance

  • Cost: $0.54 to $1.22 per serving, as priced on each source page.
  • Calories listed: 90 to 529 kcal. Protein 3 to 23 g. Fiber 3 to 16 g.
  • Batch sizes: 4 to 10 servings per recipe, most keep 3 to 4 days.
  • Prices change. Treat them as the sources' figures, not a quote.

Myth: A Cheap Lunch Is a Sad Desk Salad. Fact: 5 Cold Lunches Cost $0.57 to $0.82 a Serving.

These five need no stove or oven. The only heat is an optional 30-second microwave on the wrap. Pack them cold, eat them cold.

1. Chickpea Salad (No Cook)

Bowl of chickpea salad with chopped spinach, carrot and celery

Canned chickpeas, spinach, carrots, celery and one spoon of mayonnaise make one of the cheapest lunches here: $0.57 per serving by the source's costing. It lists 90 calories per cup but only 3 g of protein, so pair it with a protein food.

⏱ Total: Not listed (no cook) 🍽 Serves: 4 (1 cup each)

Ingredients

  • ¾ cup canned chickpeas (half a 15.5 oz can), drained and rinsed
  • 2 cups spinach, chopped
  • 1 cup carrots, finely chopped
  • ¾ cup celery, finely chopped
  • 1 green onion, sliced
  • 2 tbsp parsley, minced
  • ⅛ tsp salt
  • ¼ tsp ground black pepper
  • ¼ tsp garlic powder
  • 1 tbsp mayonnaise

Instructions

  1. Combine all ingredients in a medium bowl.
  2. Stir until the vegetables are coated with the mayonnaise.
  3. Serve right away, or cover tightly and refrigerate for up to 1 day.

Tip: Source cost: $0.57 per serving. It lists 90 kcal, 3 g protein, 4 g fiber and 210 mg sodium per cup. Packaged: canned chickpeas, mayonnaise. The source's added-sugar figure is marked as not final. Leftovers can top a salad or go into soup.

Recipe source: Spend Smart. Eat Smart., Iowa State University Extension and Outreach

2. Spicy Tuna Salad (No Cook)

Bowl of tuna salad with beans, salsa, peppers and cheese next to lettuce leaves

Canned tuna, beans, salsa, cheese, peppers and onion stirred in one bowl give 13 g of protein for 110 calories per half cup. The source prices it at $0.65 per serving. It works as a dip, a wrap filling or a salad topper.

⏱ Total: Not listed (no cook) 🍽 Serves: 4 (½ cup each)

Ingredients

  • 1 can or pouch (5 oz) tuna, drained
  • ½ cup cooked beans, drained and rinsed if canned
  • ½ cup salsa
  • ¼ cup shredded cheese
  • ¼ cup diced peppers
  • ¼ cup diced onions
  • Optional: baked tortilla chips, lettuce leaves, tortillas, salad greens

Instructions

  1. Stir the tuna, beans, salsa, cheese, peppers and onions together in a bowl.
  2. Serve right away, or refrigerate in an airtight container for up to 4 days.
  3. Serve as a dip, in a wrap with lettuce or tortillas, or over a lettuce salad.

Tip: Source cost: $0.65 per serving. It lists 110 kcal, 13 g protein, 3 g fiber, 2 g sugar and 290 mg sodium per serving. Label check: salsa and canned beans are packaged, so compare sodium and sugar. Mild salsa and bell peppers make it milder.

Recipe source: Spend Smart. Eat Smart., Iowa State University Extension and Outreach

3. Wraps Your Way (5 Min)

Whole wheat wrap cut in half showing shredded vegetables and egg

A whole wheat tortilla, a spoon of spread, half a cup of vegetables, a small portion of protein and a little cheese. The source costs it at $0.82 and lists 230 calories, 15 g of protein and 5 g of fiber, though it does not say which filling those figures assume.

⏱ Total: Not listed (about 5 min) 🍽 Serves: 1

Ingredients

  • 1 tsp spread (lowfat mayonnaise, ranch dressing or mustard)
  • ½ cup vegetables, shredded, sliced or chopped (lettuce, tomato, slaw mix, cucumber, onion or carrot)
  • 1 (8-inch) whole wheat tortilla
  • 1 oz cooked sliced chicken or beef, or ¼ cup tuna, or 1 hard-cooked egg, or ¼ cup refried beans
  • 1 tbsp shredded cheese

Instructions

  1. Mix the spread and vegetables.
  2. Spread the mixture on the tortilla.
  3. Add the meat, tuna, egg or beans, then sprinkle with cheese.
  4. Roll up and eat, or wrap in a paper towel and microwave 30 seconds to melt the cheese.

Tip: Source cost: $0.82 per wrap. It lists 230 kcal, 15 g protein, 5 g fiber, 3 g sugar and 470 mg sodium, without naming the filling. Label check: tortillas, ranch dressing and refried beans are packaged. One ounce of meat is about a third of a deck of cards.

Recipe source: Spend Smart. Eat Smart., Iowa State University Extension and Outreach

4. Cowboy Caviar (20 Min)

Bowl of black bean and black-eyed pea salad with diced pepper, tomato and cilantro

Black beans and black-eyed peas are tossed with diced pepper, tomato, jalapeño, red onion and cilantro in a lime dressing. The source prices it at $0.66 per half cup and lists 140 calories, 7 g of protein and 7 g of fiber. One batch makes 10 servings.

⏱ Total: 20 min 🍽 Serves: 10 (½ cup each)

Ingredients

  • 2 tbsp olive oil
  • 1 fresh lime (2 tbsp juice)
  • ½ tbsp balsamic vinegar
  • ½ tsp chili powder
  • 1 tsp ground cumin
  • ½ tsp salt
  • ½ tsp granulated sugar
  • 1 can (15 oz) black beans, drained and rinsed
  • 1 can (15 oz) black-eyed peas, drained and rinsed
  • 1 bell pepper, small diced (about 2 cups)
  • 2 Roma tomatoes, small diced (about 1 cup)
  • 1 jalapeño, small diced (about ¼ cup)
  • ¼ red onion, small diced
  • ¼ bunch fresh cilantro, chopped (about ¼ cup)

Instructions

  1. Whisk the dressing ingredients together in a small bowl.
  2. Put the rinsed beans and peas in a large bowl.
  3. Dice the vegetables to roughly bean-sized pieces and chop the cilantro. Add them to the beans.
  4. Pour the dressing over the salad and stir to coat.
  5. Chill 30 minutes to overnight. Add avocado just before serving, if using.

Tip: Source cost: $0.66 per ½ cup. It lists 140 kcal, 7 g protein and 7 g fiber, without avocado or corn. Sugar flag: ½ tsp sugar in the dressing. Keeps 3 to 4 days. Do not freeze. Do not leave out more than 2 hours (1 hour above 90°F).

Recipe source: Budget Bytes, by Beth Moncel

5. Classic Three Bean Salad (45 Min)

Bowl of three bean salad with kidney beans, cannellini beans and green beans

Kidney beans, cannellini beans and green beans are marinated in a vinegar and olive oil dressing for 30 minutes. The source prices it at $0.77 per cup and lists 13 g of protein and 12 g of fiber, with 301 calories. It keeps four days.

⏱ Total: 45 min (30 min marinating) 🍽 Serves: 5 (1 cup each)

Ingredients

  • 1 can (15 oz) kidney beans
  • 1 can (15 oz) cannellini beans
  • 1½ cups (165 g) frozen green beans, thawed
  • ¼ cup (60 g) red onion, finely diced
  • ¼ cup (15 g) fresh parsley, chopped
  • ¼ cup (60 ml) apple cider vinegar
  • ¼ cup (60 ml) olive oil
  • 2 tbsp sugar
  • 1 tsp salt
  • ¼ tsp black pepper
  • 1 tsp Dijon mustard

Instructions

  1. Rinse and drain the kidney and cannellini beans. Combine with the thawed green beans.
  2. Soak the sliced onion in ice water about 5 minutes, drain and finely dice. Add it and the parsley to the beans.
  3. Whisk the vinegar, sugar, olive oil, salt, pepper and Dijon in a separate bowl. Pour over the salad and stir.
  4. Refrigerate about 30 minutes and stir again before serving.

Tip: Source cost: $0.77 per serving. It lists 301 kcal, 13 g protein, 12 g fiber and 666 mg sodium. Sugar flag: 2 tbsp sugar for the batch, about 5 g per serving by simple division. It keeps about 4 days and improves as it sits.

Recipe source: Budget Bytes, by Beth Moncel

Myth: Cheap Means Cooking Every Day. Fact: One Pot Covers 4 to 8 Lunches.

Cook once, portion into containers, and you are done for the week. The lentil salad makes 6 servings, the lentil soup 7, the bean soup 8, the burgers 6 and the black beans with eggs 4.

6. Marinated Lentil Salad (30 Min)

Bowl of lentil salad with halved grape tomatoes, parsley and crumbled feta

Brown lentils are boiled 20 minutes, cooled, then tossed with a lemon garlic dressing, tomatoes, parsley, red onion and feta. The source prices it at $1.22 per cup and lists 234 calories, 10 g of protein and 11 g of fiber. It keeps 3 to 4 days.

⏱ Total: 30 min 🍽 Serves: 6 (1 cup each)

Ingredients

  • 1 lemon (juice and zest)
  • ¼ cup olive oil
  • 2 garlic cloves, minced
  • ½ tbsp dried oregano
  • ½ tsp salt
  • ¼ tsp black pepper
  • 1 cup dry brown lentils (200 g)
  • ½ bunch fresh parsley (about ½ cup, chopped)
  • 10 oz grape tomatoes, halved
  • ¼ small red onion, finely diced
  • 2 oz feta, crumbled

Instructions

  1. Boil 3 cups of water, add the lentils and cook about 20 minutes, until tender but intact. Drain and cool under cool water.
  2. Whisk the lemon juice and zest with the oil, garlic, oregano, salt and pepper.
  3. Combine the cooled lentils, parsley, tomatoes, onion and feta with the dressing in a large bowl.
  4. Serve right away or refrigerate, and stir before serving.

Tip: Source cost: $1.22 per serving. It lists 234 kcal, 10 g protein, 11 g fiber and 309 mg sodium per cup. No added sugar is listed. Drain excess liquid if the tomatoes release a lot of juice. The source advises against freezing.

Recipe source: Budget Bytes, by Beth Moncel

7. Mediterranean Lentil Soup (1 Hr 10 Min)

Bowl of lentil soup with kale, carrot and a lemon wedge

Lentils simmer with onion, carrot, celery, cumin and cinnamon, then kale and lemon juice go in at the end. The source prices a bowl at $1.08 and lists 185 calories, 9 g of protein and 11 g of fiber. One pot makes 7 lunches and freezes for 3 months.

⏱ Total: 1 hr 10 min 🍽 Serves: 7 (1½ cups each)

Ingredients

  • 2 tbsp olive oil
  • 1 large yellow onion, diced small
  • 2 medium carrots, diced small
  • 3 stalks celery, diced small
  • 5 cloves garlic, crushed
  • 2 tsp ground cumin
  • 1 tsp cinnamon
  • 1 cup uncooked brown or green lentils
  • 8 cups vegetable broth
  • 4 oz lemon juice
  • 3 cups kale, chopped and lightly packed
  • 1 tsp salt
  • 2 tsp freshly cracked black pepper

Instructions

  1. Rinse the lentils under cold water until it runs clear.
  2. Sauté the onion, carrots and celery in the oil about 6 to 7 minutes, seasoning with salt and pepper.
  3. Stir in the garlic, cumin and cinnamon for about 60 seconds, then add the lentils and toast 1 to 2 minutes.
  4. Add the broth and lemon juice, bring to a boil, then simmer on low 30 to 45 minutes until the lentils are tender.
  5. Stir in the kale and adjust the salt, pepper and lemon juice.

Tip: Source cost: $1.08 per serving. It lists 185 kcal, 9 g protein, 11 g fiber and 1,452 mg sodium. Sodium flag: the source uses Better Than Bouillon as the broth and says to check that salt is not its first ingredient. Fridge 4 days, freezer 3 months.

Recipe source: Budget Bytes, by Jess Rice

8. Vegetarian 15 Bean Soup (10 Hr (Mostly Soaking))

Bowl of vegetable bean soup with carrots, celery and parsley

A bag of 15-bean soup mix is soaked overnight, then simmered with onion, carrot, celery and canned tomatoes. The source prices a bowl at $0.85 and lists 17 g of protein and 16 g of fiber, with 303 calories. Most of the 10 hours is soaking.

⏱ Total: 10 hr (8 hr soak) 🍽 Serves: 8 (1½ cups each)

Ingredients

  • 20 oz 15-bean soup mix (discard the seasoning packet)
  • 2 tbsp coconut oil
  • 1 yellow onion, diced
  • 2 garlic cloves, minced
  • 4 carrots, diced
  • 3 celery ribs, diced
  • 6 cups water
  • 1 can (15 oz) diced tomatoes, with juices
  • 1 tsp ground cumin
  • 1 tsp dried oregano
  • ½ tbsp smoked paprika
  • ¼ tsp cayenne pepper
  • ¼ tsp black pepper
  • ¼ cup fresh parsley, chopped
  • Salt, to taste
  • 2 tsp apple cider vinegar

Instructions

  1. Soak the beans in the refrigerator at least 8 hours in water twice their volume. Drain and rinse.
  2. Sauté the onion and garlic in the oil 3 to 5 minutes. Add the carrot and celery and cook about 5 minutes more.
  3. Add the beans and 6 cups of water. Bring to a boil, then simmer on low 90 minutes, stirring occasionally.
  4. Add the tomatoes, spices and parsley and simmer 20 more minutes.
  5. Season with salt and stir in the vinegar.

Tip: Source cost: $0.85 per serving. It lists 303 kcal, 17 g protein, 16 g fiber and 126 mg sodium. No added sugar is listed. Fridge 3 to 4 days, freezer 3 months. Add a splash of water or broth when reheating, and re-salt the next day.

Recipe source: Budget Bytes, by Beth Moncel

9. Black Bean Burgers (45 Min)

Black bean burger patty on a bun with lettuce and tomato

Mashed black beans, red onion, cilantro, sriracha and breadcrumbs are formed into six patties and pan-cooked. The source prices them at $0.54 each, the lowest here, and lists 261 calories, 12 g of protein and 8 g of fiber per patty. The bun is extra.

⏱ Total: 45 min 🍽 Makes: 6 patties

Ingredients

  • 2 cans (15 oz) black beans, rinsed and drained well
  • ¼ red onion
  • 1 garlic clove
  • ¼ bunch fresh cilantro
  • 1 tbsp sriracha
  • 1 tbsp mayonnaise
  • 1 tsp ground cumin
  • 1½ tbsp soy sauce
  • ¼ tsp black pepper
  • 1 large egg (or flax egg)
  • 1 cup plain breadcrumbs
  • 2 tbsp cooking oil

Instructions

  1. Pulse the beans, onion, garlic, cilantro, sriracha, mayonnaise, cumin, soy sauce and pepper until mostly mashed with some chunks.
  2. Stir in the egg and breadcrumbs and rest the mixture about 5 minutes.
  3. Divide into six patties, about 3.5 inches wide and ½ inch thick.
  4. Cook in 1 tbsp hot oil over medium heat 4 to 5 minutes per side, until the centers reach at least 160°F.

Tip: Source cost: $0.54 per patty. It lists 261 kcal, 12 g protein and 8 g fiber per patty, not counting a bun. Label check: sriracha, soy sauce, mayonnaise and breadcrumbs are packaged. Cooked patties keep 3 to 4 days. Raw patties freeze 3 months.

Recipe source: Budget Bytes, by Beth Moncel

10. Black Beans with Eggs (20 Min)

Skillet of black beans with baked eggs, topped with cilantro and avocado slices

Black beans simmer with garlic, jalapeño and cumin, then eggs are cracked in and cooked right in the pan. The source prices it at $1.18 per serving and lists 23 g of protein and 15 g of fiber, but at 529 calories it is the heaviest lunch on this list.

⏱ Total: 20 min 🍽 Serves: 4

Ingredients

  • 2 cloves garlic
  • 1 jalapeño
  • 1 tbsp olive oil
  • 2 cans (15 oz) black beans, undrained
  • 1 tsp cumin
  • ¼ cup water
  • 4 large eggs
  • Optional: 3 cups cooked rice, ¼ red onion, ¼ cup cilantro, 1 avocado, 1 oz cotija

Instructions

  1. Sauté the minced garlic and diced, seeded jalapeño in the oil over medium heat 1 to 2 minutes.
  2. Add the black beans with their liquid, the water and cumin. Simmer about 5 minutes and mash some beans to thicken.
  3. Lower the heat, crack in the eggs and partially cover. Simmer 7 to 10 minutes, or until cooked to taste.
  4. Serve over warm rice and add toppings, if using.

Tip: Source cost: $1.18 per serving. It lists 529 kcal, 23 g protein, 15 g fiber and 160 mg sodium. The source's $4.72 total adds up only with the optional rice, avocado and cotija included, so the plain version costs less. Store leftover beans apart from eggs.

Recipe source: Budget Bytes, by Beth Moncel

Which of the 10 Gives the Most Protein per Dollar?

The black bean burger: 12 g of protein for $0.54, or about 22 g per dollar, calculated from the source's numbers. Spicy tuna salad and the 15 bean soup follow at about 20 g per dollar.

Figures come from each recipe page. The last column divides listed protein by listed cost.

#Lunch (serving)TimeCostCaloriesProteinFiberProtein per $1
1Chickpea Salad (1 cup)Not listed$0.5790 kcal3 g4 g5.3 g
2Spicy Tuna Salad (½ cup)Not listed$0.65110 kcal13 g3 g20.0 g
3Wraps Your Way (1 wrap)Not listed$0.82230 kcal15 g5 g18.3 g
4Cowboy Caviar (½ cup)20 min$0.66140 kcal7 g7 g10.6 g
5Classic Three Bean Salad (1 cup)45 min$0.77301 kcal13 g12 g16.9 g
6Marinated Lentil Salad (1 cup)30 min$1.22234 kcal10 g11 g8.2 g
7Mediterranean Lentil Soup (1½ cups)1 hr 10 min$1.08185 kcal9 g11 g8.3 g
8Vegetarian 15 Bean Soup (1½ cups)10 hr (8 soak)$0.85303 kcal17 g16 g20.0 g
9Black Bean Burgers (1 patty)45 min$0.54261 kcal12 g8 g22.2 g
10Black Beans with Eggs (1 serving)20 min$1.18529 kcal23 g15 g19.5 g

Myth: Bean Lunches Are Low in Protein. Fact: 6 of the 10 List 12 g or More.

Spicy tuna salad (13 g), the wrap (15 g), three bean salad (13 g), 15 bean soup (17 g), the burgers (12 g) and black beans with eggs (23 g) all clear 12 g.

Not all do. The chickpea salad lists only 3 g, and the cowboy caviar 7 g. Treat those as sides or add tuna, egg or cheese.

Myth: Healthy Lunches Cost More. Fact: Dietitians Point to Canned Beans and Tuna.

Sherri Hoyt, RDN, LD, a dietitian at Missouri Baptist Medical Center, calls canned beans her main budget protein in a March 2022 BJC article. She says they can replace beef or pork in many recipes and add fiber.

She also calls canned tuna a cheaper and healthier sandwich filling than deli meat, and says frozen single-ingredient vegetables are nutritionally comparable to fresh. The article is from 2022, so prices have moved since.

Myth: Canned Beans Are Too Salty for a Diet. Fact: Rinsing Cuts About 40% of the Sodium.

Hoyt says rinsing and draining canned beans for about one minute reduces sodium by roughly 40%. Most canned-bean recipes above say to rinse. The exception is black beans with eggs, which uses the bean liquid and lists 160 mg of sodium per serving.

Watch the broth instead. The Mediterranean lentil soup lists 1,452 mg of sodium per serving, and the source says to check that salt is not the first ingredient in the bouillon.

Hidden Sugar and Salt in Budget Lunches: 6 Items to Check

Most of these lunches list no added sugar, but a few ingredients carry it or a lot of sodium.

  • Sugar in dressings: three bean salad uses 2 tbsp for the batch, and cowboy caviar ½ tsp.
  • Salsa (spicy tuna salad): packaged, so compare sugar and sodium.
  • Ranch dressing and refried beans (wraps): packaged, labels vary.
  • Sriracha, soy sauce, mayonnaise and breadcrumbs (burgers): all packaged.
  • Bouillon (lentil soup): the sodium comes mostly from here.
  • Tortillas and buns: not costed or counted in the burger figures. Compare labels.

What Cooks Say About These Recipes

On the three bean salad page, a reader named Tim wrote in April 2026 that he made it lower in calories by using allulose instead of sugar, less oil, extra vinegar and chickpeas for the cannellini beans, and that fresh onion is essential.

On the 15 bean soup page, Trish said she makes it in an Instant Pot: 20 minutes on high pressure with a 10-minute natural release. On the burger page, Janet found her mixture too wet and turned it into a wrap filling instead.

How Long Do They Keep?

Per the sources: chickpea salad 1 day; spicy tuna salad 4 days; cowboy caviar 3 to 4 days; three bean salad 4 days; lentil salad 3 to 4 days; lentil soup 4 days; 15 bean soup 3 to 4 days; cooked burgers 3 to 4 days.

Freezer: lentil soup, 15 bean soup and raw burger patties, up to 3 months. Do not freeze cowboy caviar or the lentil salad.

Action step: This weekend, make one batch recipe, the 15 bean soup or the lentil soup, portion it into 4 containers for the week, and freeze the rest for up to 3 months.

Jack Atles
Jack Atles
Hi! I'm Jack Atles, and I'm passionate about helping others build healthy habits that last a lifetime. Drawing from my experience as a Fitness Coch & Exercise Physiologist, I write for "Fitness Maker Blog" to share science-backed strategies to boost your fitness, energy, and overall well-being. Start your journey today by checking out Our Blog Posts Here.



// Blog CTA Close Functionality document.addEventListener('DOMContentLoaded', function() { // Check if CTA box exists on the page const ctaBox = document.querySelector('.blog-cta-box'); const ctaCloseBtn = document.querySelector('.cta-close'); if (ctaCloseBtn && ctaBox) { ctaCloseBtn.addEventListener('click', function() { ctaBox.style.opacity = '0'; ctaBox.style.transform = 'translateY(-20px)'; setTimeout(function() { ctaBox.style.display = 'none'; }, 300); }); } // Optional: Local storage to show CTA less frequently const ctaDismissed = localStorage.getItem('blogCtaDismissed'); if (ctaDismissed && ctaBox) { // If dismissed in last 7 days, don't show const dismissTime = parseInt(ctaDismissed); const oneWeek = 7 * 24 * 60 * 60 * 1000; if (Date.now() - dismissTime < oneWeek) { ctaBox.style.display = 'none'; } } // Update local storage when closed if (ctaCloseBtn) { ctaCloseBtn.addEventListener('click', function() { localStorage.setItem('blogCtaDismissed', Date.now().toString()); }); } });