Let me be honest with you: the first time I made this creamy one-pot rice and beans, I ate two bowls standing at the stove and forgot the laundry entirely. It tastes rich and cozy, like something that cost three times as much, but the whole pot comes together for less than the price of a coffee.
Advertisements1
This is the anchor recipe in my collection of 18 budget-friendly struggle meals that actually taste good, the kind of dirt cheap meals you make when the fridge is nearly empty and payday is far away. The trick is layering cheap ingredients so they taste expensive: onion and garlic cooked until sweet, rice toasted in oil, beans stirred in at the end so they stay creamy instead of mushy.
Everything here is pantry-friendly, freezer-friendly, and forgiving. Swap the beans, swap the rice, skip the cheese, add whatever sad vegetable is hiding in the crisper drawer. It will still work, and it will still taste good.
Why You'll Love This Recipe
About the Ingredients
2 tablespoons vegetable oil
Cheap neutral oil is perfect here; canola or sunflower works identically. If you only have olive oil, use it, but keep the heat moderate so it does not smoke.
1 large yellow onion, finely diced (about 1 1/2 cups)
Yellow onions are the cheapest and sweetest for cooking. In a pinch, 1 tablespoon onion powder added with the liquid will stand in.
4 garlic cloves, minced
Buy whole heads rather than pre-minced jars, they cost far less per clove. Garlic powder works too: use 1 teaspoon in place of the fresh.
1 1/2 cups (270g) long-grain white rice, rinsed
Rinsing removes surface starch so the rice stays separate instead of gluey. Short-grain rice works but will turn stickier, which is honestly delicious.
1 teaspoon ground cumin
Cumin is the flavor backbone of this dish. No cumin? Use 1 teaspoon chili powder or a pinch of smoked paprika.
1 teaspoon smoked paprika
This is what makes it taste slow-cooked. Regular paprika is fine, but smoked adds that campfire depth for pennies.
2 (15 oz / 425g) cans black beans, drained and rinsed
Store-brand black beans are indistinguishable here. Pinto beans, kidney beans, or a pound of cooked dried beans all substitute well.
3 cups (720ml) water or low-sodium broth
Water is free and works great; broth adds richness. Use water plus 1 teaspoon bouillon if you have a cube rattling around.
1 teaspoon fine salt, plus more to taste
Add salt in stages, not all at once. Kosher salt is less dense, so use 1 1/2 teaspoons if that is what you have.
1 cup (100g) shredded cheddar or Monterey Jack
Any melting cheese works, including scraps from the fridge. Skip it entirely for a vegan pot and stir in 1 extra tablespoon of oil at the end.
2 scallions, thinly sliced, or a handful of chopped cilantro
Use whatever green thing you have. Thinly sliced white onion or a squeeze of lime also brightens the top.
Tips & Tricks
Toast the rice before adding liquid
One dry minute in hot oil gives every grain a nutty edge and keeps it from turning to porridge.
Do not stir while it simmers
Stirring rice constantly releases starch and makes it gummy. Add the liquid, bring it to a boil, then leave it alone.
Add beans at the very end
Beans break down and go mealy if they cook for 20 minutes. Fold them in during the last 5 minutes so they stay creamy.
Taste before you salt again
Canned beans and cheese are already salty, so season the final bowl, not just the pot.
Pro Tips
Step-by-Step Instructions
1. Soften the onion
Warm the oil in a large skillet over medium heat (about 350F / 175C) and cook the onion for 6 to 7 minutes, stirring now and then, until it turns soft and translucent with golden edges.
2. Bloom the garlic and spices
Stir in the garlic, cumin, and smoked paprika and cook for 45 seconds, just until the garlic smells sweet and toasty. Do not let it brown or it will taste bitter.
3. Toast the rice
Add the rinsed, drained rice and 1/2 teaspoon of the salt and stir for 1 to 2 minutes until the grains look glossy and smell nutty. This step is the difference between fluffy and mushy.
4. Add liquid and simmer
Pour in the water or broth, scrape up anything stuck to the pan, and bring to a rolling boil over high heat (about 400F / 205C).
5. Cover and cook low
Reduce the heat to low (about 200F / 95C), cover tightly, and cook for 15 minutes without lifting the lid. You will hear a gentle simmer, not a hard boil.
6. Rest off the heat
Turn off the heat and let the covered pan sit for 5 minutes so the rice finishes steaming and firms up. Fluff with a fork, not a spoon.
7. Fold in the beans
Gently stir in the beans and the remaining 1/2 teaspoon salt and warm over low heat for 3 to 4 minutes, until everything is hot and the beans are creamy but intact.
8. Melt the cheese and serve
Scatter the cheese over the top, cover for 2 minutes until it melts and the edges bubble, then finish with scallions or cilantro. Taste as you go, trust your tongue.
Delicious Variations
Mexican Street Style
Skip the cheese, add a can of drained corn and a squeeze of lime, then top with chili powder and cilantro.
Breakfast Hash
Cool the leftovers overnight, then fry spoonfuls in oil until crisp and serve with a fried egg on top.
Tomato Rice Pot
Swap 1 cup of the water for a can of crushed tomatoes and add 1/2 teaspoon oregano for a tangier, redder pot.
How to Store 18 Budget-Friendly Struggle Meals That Actually Taste Good (Dirt Cheap Meals)
Refrigerator
Keep in an airtight container for up to 4 days. It actually tastes better on day two once the spices settle.
Freezer
Freeze in portions for up to 3 months; press flat in zip bags so it thaws in minutes.
Reheating
Reheat in a covered pan over medium-low heat (about 300F / 150C) with a splash of water for 5 minutes, or microwave covered for 2 minutes, stirring once.
Frequently Asked Questions
Q: What are the cheapest struggle meals that still taste good?
Rice and beans, potato hash, egg fried rice, lentil soup, and pasta with garlic and oil are the cheapest meals that still taste great. They rely on pantry staples that cost under a dollar a serving and use cheap flavor builders like onion, garlic, and cumin.
Q: How do you make cheap food taste better?
Toast your spices in oil, brown your onions properly, and finish with something acidic like lime or vinegar. Those three moves cost almost nothing and make plain ingredients taste layered and finished.
Q: Can I make this rice and beans recipe vegan?
Yes, simply leave out the cheese and use water or vegetable broth instead of chicken broth. Add an extra tablespoon of oil at the end so the pot still tastes rich and creamy.
Q: How long does rice and beans last in the fridge?
It keeps for up to 4 days in an airtight container, and the flavor improves after a day. Reheat it with a splash of water so it does not dry out.
Q: Can I use dried beans instead of canned?
Yes, use about 1 1/2 cups of dried beans, soaked overnight and simmered until tender before adding. It costs less per serving but adds about 60 minutes of cook time.
If you make this pot tonight, tell me what you stirred in at the end, because that is where the magic lives. Save this one for the lean weeks, share it with a friend who is stretching a paycheck, and remember the other 17 meals in this series are just as cheap and just as good. Taste as you go, trust your tongue.
18 Budget-Friendly Struggle Meals That Actually Taste Good (Dirt Cheap Meals)
These budget-friendly struggle meals turn pennies into dinner: creamy one-pot rice and beans, crispy potato hash, and 18 dirt cheap meals that taste great.
🧂 Ingredients
- 2 tablespoons vegetable oil
- 1 large yellow onion, finely diced (about 1 1/2 cups)
- 4 garlic cloves, minced
- 1 1/2 cups (270g) long-grain white rice, rinsed
- 1 teaspoon ground cumin
- 1 teaspoon smoked paprika
- 2 (15 oz / 425g) cans black beans, drained and rinsed
- 3 cups (720ml) water or low-sodium broth
- 1 teaspoon fine salt, plus more to taste
- 1 cup (100g) shredded cheddar or Monterey Jack
- 2 scallions, thinly sliced, or a handful of chopped cilantro
📋 Instructions
- 1Soften the onion — Warm the oil in a large skillet over medium heat (about 350F / 175C) and cook the onion for 6 to 7 minutes, stirring now and then, until it turns soft and translucent with golden edges.
- 2Bloom the garlic and spices — Stir in the garlic, cumin, and smoked paprika and cook for 45 seconds, just until the garlic smells sweet and toasty. Do not let it brown or it will taste bitter.
- 3Toast the rice — Add the rinsed, drained rice and 1/2 teaspoon of the salt and stir for 1 to 2 minutes until the grains look glossy and smell nutty. This step is the difference between fluffy and mushy.
- 4Add liquid and simmer — Pour in the water or broth, scrape up anything stuck to the pan, and bring to a rolling boil over high heat (about 400F / 205C).
- 5Cover and cook low — Reduce the heat to low (about 200F / 95C), cover tightly, and cook for 15 minutes without lifting the lid. You will hear a gentle simmer, not a hard boil.
- 6Rest off the heat — Turn off the heat and let the covered pan sit for 5 minutes so the rice finishes steaming and firms up. Fluff with a fork, not a spoon.
- 7Fold in the beans — Gently stir in the beans and the remaining 1/2 teaspoon salt and warm over low heat for 3 to 4 minutes, until everything is hot and the beans are creamy but intact.
- 8Melt the cheese and serve — Scatter the cheese over the top, cover for 2 minutes until it melts and the edges bubble, then finish with scallions or cilantro. Taste as you go, trust your tongue.



