One of the best things about vegetarian protein is that it's cheap. Like, absurdly cheap compared to meat. A pound of dried lentils costs about $1.50 and gives you roughly 100g of protein. Try getting that deal from chicken breast.
I've been tracking my grocery spending alongside my protein intake for the past year, and I consistently hit 140g+ protein per day for under $7 in food costs. Here's how.
The Cost Per Gram Champions
Not all protein sources are equally budget-friendly. Here's what I rely on, ranked by cost per gram of protein:
- Dried lentils/dal: ~$0.01 per gram of protein. The undisputed king. A $1.50 bag of moong dal gives you enough protein for 4-5 servings.
- Dried chickpeas: ~$0.01 per gram. Same math as lentils. Dried is much cheaper than canned.
- Eggs: ~$0.02 per gram. At $4/dozen, each egg costs $0.33 for 6g protein. Hard to beat.
- Dried kidney beans (rajma): ~$0.01 per gram. Buy in bulk from Indian grocery stores for the best price.
- Peanuts: ~$0.02 per gram. Raw peanuts from bulk bins are incredibly cheap.
- Tofu: ~$0.03 per gram. A $2.50 block of extra-firm tofu has about 40g protein.
- Greek yogurt: ~$0.04 per gram. Buy the large tubs, not individual cups. Big price difference.
- Paneer: ~$0.05 per gram. The most expensive item on my regular list, but still way cheaper than most meats.
A $7 High-Protein Day
Here's a real day of eating that costs under $7 and delivers 142g protein:
Breakfast: Egg Bhurji with Paratha ($1.50)
3 eggs scrambled Indian-style with onions and spices, plus a whole wheat paratha. Cost breakdown: 3 eggs ($1.00), paratha ($0.30), onion and spices ($0.20). Protein: 24g.
Lunch: Rajma Chawal ($1.20)
A big bowl of rajma masala over rice. Kidney beans are one of the cheapest protein sources, and this dish is proof that budget food can taste incredible. I make a huge pot on Sunday and eat it for 3-4 lunches. Cost per serving: about $1.20. Protein: 22g. Paired with a bowl of simple dal on the side, you're adding another 18g for $0.40.
Snack: Roasted Peanuts and Yogurt ($0.80)
A quarter cup of roasted peanuts (7g protein, $0.30) and a cup of regular yogurt (10g protein, $0.50). Protein: 17g.
Dinner: Chana Masala with Jeera Rice ($2.00)
Our protein chana masala uses dried chickpeas (about $0.50 per serving) and adds cottage cheese for extra protein ($0.60). With a serving of rice ($0.30) and some basic onion-tomato gravy ingredients ($0.60). Protein: 33g.
Evening: Moong Dal with Rice ($1.00)
A bowl of moong dal tadka with leftover rice. Moong dal is so cheap it's almost free. This is my go-to "second dinner" when I need to top up my protein before bed. Protein: 22g.
Daily total: $6.50 | 136g protein (add a glass of milk for $0.40 and 8g more protein, bringing you to 144g for $6.90).
Budget Shopping Tips
- Buy dried, not canned: Dried legumes cost 50-70% less than canned. Yes, they need soaking. It takes 30 seconds of effort.
- Shop at Indian/Asian grocery stores: Dal, chickpeas, paneer, tofu, and spices are significantly cheaper at ethnic grocery stores than mainstream supermarkets.
- Buy in bulk: A 5lb bag of moong dal costs the same as two 1lb bags. Store in airtight containers and it lasts months.
- Make your own paneer: 1 gallon of whole milk ($4) yields about 400g of paneer. Store-bought paneer of the same quantity costs $8-10.
- Eggs are your best friend: At every budget level, eggs deliver the most protein for the money.
Budget Meal Prep: 5 Days for $25
- Sunday cook: Big pot of rajma masala, a pot of moong dal, a batch of rice, a dozen boiled eggs
- Monday-Friday: Mix and match rajma, dal, rice, eggs, and fresh vegetables
- Midweek refresh: Make masala egg fried rice with leftover rice and eggs for variety, or throw together a rajma chawal bowl
High-protein vegetarian eating isn't expensive. It's actually one of the cheapest ways to eat well. The staples - lentils, chickpeas, eggs, and yogurt - are affordable everywhere in the world. Stop buying protein bars and start buying dried beans. Your wallet and your muscles will both thank you.