Rice And Beans Stew (Vegetarian, 30 Minutes!)
This post may contain affiliate links. As an Amazon Associate, I earn from qualifying purchases. Please read my disclosure.My rice and beans stew combines black beans, kidney beans, corn, and vegetables simmered in a tomato-salsa sauce with cumin and oregano. I serve it over brown rice for a complete meal that’s ready in 30 minutes. It’s also under 350 calories per serving and costs less than $2 per person!

This was one of the first recipes I learned to make when I started cooking for myself. I was intimidated by most recipes back then, but this one worked because it didn’t require any complicated techniques. I sautéed some vegetables, opened a few cans, added spices, and let everything simmer together. When it turned out to be actually delicious, I felt confident enough to try more recipes!
Since that first attempt, I’ve adjusted the spices to make the flavor more complex. I increased the cumin for earthiness, added cayenne for subtle heat, and started using prepared salsa instead of extra tomato sauce because the salsa brings more depth. The vegetables get sautéed until the onions soften and the peppers develop some color, which adds a layer of sweetness that wasn’t there when I first made this.
This stew has stayed in my rotation because it’s forgiving and adaptable. I can throw in whatever vegetables need to be used from my fridge, adjust the spice level based on who’s eating, and have leftovers that taste better the next day. My family went back for seconds the first time I served it (and still does!), and we’ve used the leftovers as nacho toppings, burrito filling, and even stirred into scrambled eggs for breakfast.
👩🏽🍳 Why I Love This Recipe
One thing I love about this recipe is that, while it’s 100% plant-based, it’s protein-packed because the combination of black beans and kidney beans with brown rice creates a complete protein. Rice and beans together provide all nine essential amino acids that our body needs, making this vegetarian meal as satisfying as one with meat. Each serving has 17 grams of protein and 18 grams of fiber, which keeps me full for hours.
This dish is also incredibly flavorful, and my secret to that is sautéing the vegetables first. I cook the bell peppers and onions in olive oil until the onions turn translucent and the peppers start softening, which takes about 5 minutes. Adding the diced tomatoes at the end and cooking them for just 1 minute preserves their fresh texture while letting them release some juice. This creates a base that has more flavor than if I just dumped everything in the pot at once.
What keeps me making this recipe is how the longer simmering time improves it. The minimum simmer is 10 minutes, but if I have time to let it go for 20-30 minutes on low heat, the flavors blend together and deepen. The beans soften further and absorb the tomato-cumin-oregano flavors, and the whole stew thickens slightly. It’s low-calorie and low-budget, which means this meal fits both my budget and my nutrition goals without feeling like I’m sacrificing anything!
🥘 Ingredients
The ingredients for this recipe couldn’t be more simple! You might have many of them already in your fridge and pantry at home. Here’s what I used:

Cooked Brown Rice: I add 1 cup cooked brown rice, which equals about 1/3 cup uncooked. Any grain works as a substitute – see my notes below.
Extra Virgin Olive Oil: I use olive oil to sauté the vegetables. It adds richness without making the stew heavy.
Bell Pepper: I use yellow, red, or orange bell pepper for sweetness. Green peppers work but are more bitter.
Red Onion: I dice the red onion for a milder, slightly sweeter flavor than yellow onion. Either works.
Roma Tomatoes: I like using fresh Roma tomatoes diced. They have less water content than regular tomatoes, so they don’t make the stew watery.
Black Beans & Kidney Beans: I use canned black beans and kidney beans, rinsed and drained. Rinsing removes excess sodium and the starchy liquid. Pinto beans would also work here.
Frozen Corn: Frozen corn is my go-to because it’s convenient and doesn’t add excess liquid like canned corn does.
Tomato Sauce: I use an 8-ounce can of tomato sauce with no added sugar. This creates the base of the stew. Lately though, I’ve been swapping this for prepared salsa for more flavor.
Prepared Salsa: I use 1 cup of jarred salsa. Mild salsa works for kids, medium for more flavor, hot for spice lovers.
Baby Spinach: While this is optional, I like to add in baby spinach for extra fiber, nutrients, and color. It wilts into the stew and isn’t noticeable.
Spices: This dish gets all of its flavor from the spice combination – so use spices generously! I like using a combination of ground cumin for its earthy, warm flavor, dried oregano and thyme for aromatic depth (Italian seasoning also works here), garlic powder for convenience, but 2 cloves minced fresh garlic also works, cayenne pepper for heat, taco seasoning for extra Mexican-inspired flavor, and salt – which I always adjust to taste!
Substitutions
Brown Rice Substitute: I have used white rice (1 cup cooked), quinoa (1 cup cooked), or cauliflower rice (2 cups) as alternatives.
Black Beans Substitute: I can use pinto beans (15 oz can, drained and rinsed) or white beans (15 oz can, drained and rinsed) as a 1:1 replacement.
Kidney Beans Substitute: I can use chickpeas (15 oz can, drained and rinsed) or additional black beans (15 oz can) instead.
🔪 How To Make
Here’s how I make this rice and bean stew step by step:
Cook Rice, Sauté Vegetables: I cook the rice according to package directions, keep it warm, and set it aside. Then I heat a large saucepan over medium heat. I sauté the bell pepper and red onion in olive oil until the onion is cooked, about 5 minutes. I add the diced tomatoes at the end and cook for an additional 1 minute.

Add Beans and Liquids: I add the black beans, kidney beans, corn, tomato sauce, and salsa. I stir to combine thoroughly.

Add Spices: Then I add the cumin, oregano, thyme, garlic powder, cayenne pepper, salt, and taco seasoning. If using baby spinach, I add it here. I stir to combine.

Simmer & Serve: I simmer for at least 10 minutes, or longer on low heat to let the flavors blend together. I serve the stew over the cooked brown rice, my kids also love it with tortilla chips on the side!

💭 Expert Tips
My #1 Secret Tip for this recipe is to let it simmer longer than the minimum 10 minutes. If I have 20-30 minutes (or even more time), the extra time allows the spices to fully bloom and the beans to absorb all the flavors. The stew also thickens naturally during this time, creating a better texture.
Other Tips To Keep In Mind:
- Rinse the Beans: I always rinse canned beans under cold water to remove excess sodium and the starchy liquid that can make the stew taste metallic.
- Use Prepared Salsa: I buy jarred salsa instead of making it from scratch. The blend of spices and vegetables in prepared salsa adds more complexity than I can achieve quickly at home.
- Adjust Spice Level: I reduce or omit the cayenne pepper when making this for kids, and I choose mild salsa instead of medium or hot.
- Use Prepared Rice: When I’m really short on time, I’ll buy pre-cooked brown rice pouches from the grocery store to save 30-40 minutes of cooking time. These microwave in 90 seconds.
📖 Variations
This stew adapts so easily to different flavors and dietary needs! Here are some of my favorite variations:
Add Potatoes: I add 1 large sweet potato (diced into 1/2-inch cubes) with the bell peppers and cook until tender for added sweetness and nutrition.
Super Spicy: I double the cayenne pepper and use hot salsa, plus add 1 diced jalapeño with the bell peppers for extra heat.
Protein-Boosted: I stir in 1 cup of crumbled, extra firm tofu (or other plant-based crumbles) after simmering for a meatier texture.
🍽 Serving Suggestions
I serve this bean stew over brown rice as a main dish, or I use it as a topping for my loaded veggie nachos with shredded cheese and avocado. If I feel like a different rice base, it pairs well with my vegan Mexican rice, or this 4-ingredient cilantro lime rice or served alongside baked tortilla chips for scooping. For a complete meal, I add a simple green salad and top the stew with diced avocado, shredded Mexican cheese, and fresh cilantro.
🧊 Storage Directions
Storing: I store the stew in an airtight container in the fridge for 3-5 days. I keep the rice separate so it doesn’t absorb too much liquid and get mushy.
Freezing: I transfer the stew to an airtight container or freezer bag and freeze for 2-3 months. I freeze the rice in a separate container. I thaw overnight in the fridge before reheating. And then combine the rice and beans once heated.
Reheating: I reheat individual portions in the microwave for 2-3 minutes, stirring halfway through. I also will reheat on the stovetop over medium heat, adding a splash of water if it’s too thick.
❓Recipe FAQs
I mix 1 tablespoon cornstarch with 1 tablespoon water to create a paste, then stir it into the simmering stew. I let it cook for 2-3 minutes until it thickens. Alternatively, I mash some of the beans against the side of the pot with a spoon to naturally thicken the stew.
Yes, you can use 1 1/2 cups cooked beans for each 15-ounce can. If I’m using dried beans, I’ll cook them separately until tender (about 1-2 hours), then add them to the stew. This saves money but adds cooking time.
The stew needs adequate salt and time to develop flavor. I always taste at the end and add more salt if needed. Simmering for at least 15-20 minutes helps the spices bloom and the flavors meld together.

Love this plant based stew recipe? Please leave a 5-star rating 🌟 in the recipe below and/or a review in the comment section further down the page!
You can also FOLLOW ME on FACEBOOK, INSTAGRAM, and PINTEREST to see more delicious, healthy, family-friendly food, and if you have any questions, I’m here to help!
📋 Recipe Card
Rice and Beans Stew
Ingredients
- 1 cup cooked brown rice (or any whole grain like quinoa, millet, etc.)
- 1 tsp extra virgin olive oil
- 1 yellow, red, or orange bell pepper diced
- 1 cup red onion diced
- 2 roma tomatoes diced
- 15 oz black beans, rinsed and drained 1 can
- 15 oz red kidney beans, rinsed and drained 1 can
- 1 cup frozen corn
- 8 oz tomato sauce 1 can
- 1 cup prepared salsa
- 1½ teaspoons ground cumin
- 1 teaspoon dried oregano
- 1 teaspoon dried thyme
- ½ teaspoon garlic powder
- ⅛ teaspoon cayenne pepper more or less to taste
- 1 teaspoon salt more to taste
- ½ teaspoon taco seasoning more to taste
- 6 oz baby spinach (optional)
Instructions
- Cook rice according to package directions, keep warm, set aside
- Heat a large saucepan over medium heat. Saute the bell pepper and red onion in the olive oil, until the onion is cooked (about 5 min); add tomatoes at the end and cook for 1 min.
- Add black beans, red kidney beans, tomato sauce, salsa, corn; stir to combine thoroughly. (If using baby spinach, add it here). Add remaining ingredients (all spices); stir to combine; simmer for 10 minutes (or as long as you like – the longer it simmers, the longer the flavors have to blend together).
- Serve with brown rice and maybe some chips on the side.
Notes
- Use prepared salsa.
- The longer you simmer the stew, the more flavorful it becomes.
- Use prepared brown rice to save time.
- If you don’t have brown rice, you can use any whole grain like: quinoa, millet, farro, barley, or wild rice
- For some additional fiber, antioxidants and veggies, add 6oz chopped baby spinach to this dish (you can add it at the same step you add the beans.
- If you’re making this for kids, reduce or omit the cayenne and choose a mild salsa.
- Feel free to add toppings like: diced avocado or guacamole, Mexican shredded cheese, diced cilantro, crushed tortilla chips, diced tomatoes.





Although I like fresh tomatoes and I can tolerate fresh diced tomatoes in a soup or stew, I’m not a fan of tomato sauce in any dishes. Is there something I can substitute for the tomato sauce. I’m not a vegetarian so if it’s something meat/poultry based, I’m fine with that choice. Thanks for any help you can offer. Other than this sticking point for me it looks delicious.
Hi Sandy! If you like fresh tomatoes, I think you can substitute fresh diced tomatoes instead of the tomato sauce in this recipe! Let me know how it turns out!
What a healthy delicious recipe!! This looks so good! I love the variety in the stew as well as all of those different textures. Vibrant colours that look fun too, well done.
Thanks so much Adrianne!! I can’t wait to hear how it turns out for you!
What a vibrant dish! I love a hearty and tasty stew.
Me too!! This is one of my favs!
WOW! Your recipe has come up at the right time: I am kind of tired of beef stew… Your vegetarian stew seems a great alternative 🙂 Thanks.
This really is a great alternative to a meat-based stew – I promise it will keep even the meat eaters satisfied because it is so hearty and flavorful!
Love this version of stew. So colorful and flavorful. Yum!
Yay!! Thanks so much!!
Vegetarian and bean stew is my favorite vegetarian dish. It’s so packed with flavors and I totally never miss the meat. Adding rice is a smart move to make it even more filling.
Mine too!! And yes, adding the rice is great because not only does it add wonderful texture, it also helps to make the meal a complete protein!
Great recipe, I’ll definitely have to try this! I like and use Lundberg brown rice, it’s even organic! I found the biggest selection from OrganicMarketOnline.com!
Thanks for the tip Gina! I’m sure you will love this recipe!
how would you do this if you were doing it in a slow cooker and would you add any more liquid?
Hi Candice! I don’t think you’d need much more liquid cooking this in a slow cooker. I’d just put it on the lowest setting and let it simmer for a long time. Maybe check on it once in a while and if you see it getting dry, add a bit more liquid – but it should be ok. Let me know how it turns out!
You have some great recipe ideas for a healthy dinner. thank you.
Thank you so much Linda! Enjoy! 🙂
This looks like a fantastic, delicious, and healthy food to fuel up before a good run or workout! I make a black bean soup with veggies that is similar, but I like the addition of the rice here. I’ll be trying it out soon! Thanks!
Yes it is definitely a great source of energy before a workout! The rice makes it a complete protein — I bet if you added some rice to your black bean soup it would make it even heartier 🙂 Let me know how this recipe turns out for you – I’m sure you will love it!
Hi Anjali,
I followed your recipe to do this dish. It tastes great. My kids love it . Thank you. The only thing I change is I used white rice instead of brown rice. I never bought brown rice. What is the different between white rice and brown rice?
Oh great!! I’m so happy you and your kids liked this dish! So basically, brown rice is the less-processed form (the unmilled form) of rice. It has a mild nutty flavor, and is a little more chewy and much more nutritious than white rice. I’d highly recommend trying it if you haven’t before!
The main difference between brown and white rice are in the processing and nutritional content. When only the outermost layer of a grain of rice (the husk) is removed, brown rice is produced. To produce white rice, the next layers underneath the husk (the bran layer and the germ) are removed, leaving mostly the starchy endosperm. During this process, key nutrients in brown rice like fiber, B vitamins, magnesium, fatty acids, etc. are lost in their white rice counterparts. Sometimes white rice is enriched to “get back” some of the vitamins, but you won’t get back the fiber and magnesium that’s in brown rice. Essentially — brown rice is white rice’s more healthy cousin! It has more fiber and nutrients and is more of a “whole grain.” You can buy cooked brown rice in the frozen section that you can heat up in under 5 minutes to save on time, otherwise brown rice takes about 30 min-1 hour to cook simmering on the stove compared to white rice. Hope that helps!
Making this over the weekend…can’t wait to try it out. Looks delish
Thanks Debbie! Let me know how this recipe turns out for you!
This looks great, I love the addition of brown rice to the chili!
Glad you like it! And yes – the brown rice gives a nice “hearty” base to the chili 🙂 Let me know if you try it and how it turns out!