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.
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!


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
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!
Servings: 4 servings
Calories: 342.5kcal
- 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.
Adapted from FoodNetwork
Calories: 342.5kcal | Carbohydrates: 65.4g | Protein: 17.2g | Fat: 3.4g | Saturated Fat: 0.6g | Sodium: 1285mg | Potassium: 1194mg | Fiber: 18.2g | Sugar: 9.9g
