This three bean rice soup gives you a satisfying, fiber-rich dinner in one pot, with affordable pantry staples, plenty of vegetables, and a smoky tomato broth.
For more satisfying dinners with rice and legumes, try our Greek bean stew with rice, Mediterranean lentils and rice, or black beans and rice.

Why you’ll love this three bean soup!
Louise and I ate this three bean rice soup for four meals in a row ๐ณ. Not because we had to finish itโwe just kept wanting another bowl. The tender rice, creamy beans, and savory tomato broth make a very convincing case for keeping dinner simple. ๐ฅฃ
Itโs also a nourishing meal made with everyday ingredients. Kidney, pinto, and cannellini beans bring fiber and plant protein, with carrots, celery, tomatoes, and spinach adding plenty of vegetables. Before the optional Parmesan, itโs naturally low in saturated fat. ๐ฟ
The smoked paprika gives the broth a gentle smokiness, and a squeeze of lemon at the end brightens the whole pot. Nothing complicated here, but it all works so well together. ๐
And thereโs room to make it yours. Add sautรฉed cabbage, diced potatoes, or whatever leafy greens need using up. Iโd start with the recipe as written, though. Thatโs the version we couldnโt stop eating.
P.S. Prefer pasta to rice? Try our three bean orzo soup, pasta e fagioli, or black bean orzo soup.
Ingredients
Full ingredients and substitutions are in the recipe box below.

- Extra virgin olive oil: adds richness. Regular olive oil works too.
- Onion: adds sweetness. Substitute leek or shallots.
- Carrots: add color. Try butternut squash.
- Celery: adds depth. Substitute fennel.
- Garlic: adds flavor. If intolerant, omit or use garlic-infused oil if tolerated.
- Tomato paste: deepens the broth. Skip if unavailable.
- Smoked paprika: adds smokiness. Sweet paprika works too.
- Dried oregano: adds herbal flavor. Substitute Italian seasoning.
- Ground cumin: adds warmth. Optional.
- Kidney beans: add texture. Substitute black beans.
- Pinto beans: add creaminess. Substitute borlotti.
- Cannellini beans: add tenderness. Substitute navy beans.
- White rice: we use jasmine; basmati works too. For orzo, simmer the soup alone for 10 minutes, then add orzo and cook about 8 minutes. Cook farro, barley, or buckwheat separately according to package instructions; stir in toward the end.
- Diced tomatoes: flavor the broth. Substitute crushed tomatoes.
- Vegetable broth: forms the base. Chicken broth works too.
- Salt and pepper: season to taste.
- Spinach: substitute kale, chard, or cabbage. Add kale or chard earlier; sautรฉ cabbage with the vegetables for 5 minutes.
- Lemon juice: adds brightness. Substitute wine vinegar.
- Parmesan: adds savory flavor. Substitute Pecorino or skip.

How to Make Three Bean Rice Soup
Step 1. Cook the vegetables
Heat the olive oil in a large pot over medium-heat. Add the onion, carrots, and celery, and sautรฉ for 5 minutes, stirring occasionally.
Stir in the grated garlic, tomato paste, smoked paprika, oregano, and optional cumin. Cook for 1 more minute, until fragrant.

Step 2. Add the beans and broth
Add the drained and rinsed kidney, pinto, and cannellini beans, diced tomatoes, vegetable broth, salt, and pepper.
Bring to a simmer and cook for about 5 minutes.

Step 3. Cook the rice
Rinse the uncooked rice in a fine-mesh strainer under cold running water, then drain well.
Stir in the uncooked rice and partially cover the pot. Simmer gently for about 15 minutes, or until the rice is tender.
Stir occasionally to keep the rice from sticking to the bottom. Add more broth as needed to keep the soup as thick or brothy as you like.

Step 4. Add the spinach and serve
During the last minute of cooking, stir in the spinach and lemon juice. Let the spinach wilt, then taste and adjust the seasoning.
Ladle into bowls and serve with grated Parmesan and a drizzle of olive oil.

Tips
- Slice the carrots thinly. Thick pieces can stay firm even after the rice is cooked. Keep the vegetables small and evenly cut so they soften together.
- Give the flavor base its full minute. Stir the garlic, tomato paste, herbs, and spices into the sautรฉed vegetables before adding broth. Keep stirring so the garlic and paprika donโt burn.
- Choose lower-sodium canned ingredients. Drain and rinse the beans well, or use no-salt-added beans. Look for no-salt-added canned tomatoes and low-sodium broth too, then season the soup to taste.
- Keep the simmer gentle after adding rice. Look for small, steady bubbles. Stir occasionally, scraping along the bottom to keep the rice from sticking.
- Check the rice before turning off the heat. Fifteen minutes is a guide. Taste a few grains and cook until tender, adding more broth if the soup gets too thick.
- Adjust the broth when reheating. The rice keeps absorbing liquid as it sits. Add a splash of broth or water to loosen leftovers, then taste for seasoning.
- Give sturdier greens more time. Spinach only needs the last minute. Add kale or chard earlier, or sautรฉ chopped cabbage with the onion, carrots, and celery for about five minutes.
- Cook whole grains separately. Farro, barley, and buckwheat have different cooking times and liquid needs. Cook according to the package, then stir into the soup toward the end.
- Taste after adding the lemon. It brightens the broth and can change how much salt you want. If serving with Parmesan, account for its saltiness too.
Frequently Asked Questions
Yes. Make the soup as written and refrigerate in an airtight container for up to 3โ4 days. Add a splash of broth or water when reheatingโthe rice absorbs liquid as it sits.
Yes. Use any combination of canned beans you enjoy, keeping the total to three 15-ounce cans, drained and rinsed. Black beans, navy beans, and borlotti all work. You can also use just one variety.
Yes. For a bean and orzo soup, let the vegetables, beans, tomatoes, and broth simmer for about 10 minutes before adding the orzo. Then cook for about 8 minutes, or until tender, stirring occasionally.
Yes, but cook them separately according to the package instructions, then stir them in toward the end. Brown rice, farro, barley, and buckwheat have different cooking times and absorb more liquid, so they arenโt direct swaps for the white rice.
Yes. Stir cooked shredded chicken into the soup toward the end and heat through. For a sausage and bean soup, brown crumbled Italian sausage at the start with the vegetables, then continue with the recipe.
The rice keeps absorbing broth after cooking, so a thicker soup is normal, especially the next day. Add broth or water a little at a time while reheating until you like the consistency. Taste and adjust the seasoning afterward.
Divide leftovers into shallow, airtight containers and refrigerate within two hours of cooking. Keep refrigerated for 3โ4 days, or freeze for up to 3 months. Thaw overnight in the refrigerator, then reheat until steaming hot throughout. Add extra broth or water as needed; the rice will soften and absorb liquid during storage.
More Hearty Bean and Vegetable Soups
- Mediterranean Chickpea Cabbage Soup
- Lentil Cabbage Soup
- Mediterranean Pinto Bean Soup
- Tuscan White Bean Soup
- Cowboy Bean Soup
- Cajun Black Bean Soup
- Black Bean Soup
- Lemon Butter Bean Soup
If you try this recipe please leave a ๐ star rating and let us know how it turned out in the commentsโwe love hearing from you.

Three Bean Rice Soup (High-Fiber Meal Prep)
Video
Ingredients
- 2 tablespoons extra virgin olive oil
- 1 onion finely chopped
- 2 carrots thinly sliced
- 2 ribs celery diced
- 3 cloves garlic grated
- 2 tablespoons tomato paste
- 1 teaspoon smoked paprika
- 1 teaspoon dried oregano
- ยฝ teaspoon ground cumin optional
- 1 can kidney beans 15 oz / 400 g can โ drained and rinsed
- 1 can pinto beans 15 oz / 400 g can โ drained and rinsed
- 1 can cannellini beans 15 oz / 400 g can โ drained and rinsed
- 1 can diced tomatoes 15 oz / 400 g can
- 6 cups vegetable broth plus more as needed
- ยพ cup uncooked long-grain white rice like basmati or jasmine, rinsed
- 1 teaspoon salt plus black pepper, to taste
- 3 handfuls baby spinach
- 2 tablespoons lemon juice and Parmesan to serve
Instructions
- Cook the vegetables: Heat 2 tablespoons extra virgin olive oil in a large pot over medium heat. Add 1 onion, 2 carrots, and 2 ribs celery (all chopped). Cook for 5 minutes, stirring occasionally.Stir in 3 cloves garlic (grated), 2 tablespoons tomato paste, 1 teaspoon smoked paprika, 1 teaspoon dried oregano, and optional ยฝ teaspoon ground cumin. Cook for 1 more minute, stirring.
- Add the beans and broth: Add 1 can kidney beans, 1 can pinto beans, 1 can cannellini beans (all rinsed), 1 can diced tomatoes, 6 cups vegetable broth, 1 teaspoon salt, and pepper. Bring to a gentle simmer and cook for 5 minutes.
- Cook the rice: Rinse and drain ยพ cup uncooked long-grain white rice, then stir it into the soup. Partially cover and simmer gently for about 15 minutes, until tender. Stir occasionally to prevent sticking, adding more broth if needed.
- Finish and serve: Stir in 3 handfuls baby spinach and 2 tablespoons lemon juice during the last minute of cooking, until the spinach wilts. Taste and add more salt or pepper if needed. Serve with Parmesan and a drizzle of olive oil.
Notes
- Extra virgin olive oil โ> Regular olive oil.
- Onion โ> Leek or shallots.
- Carrots โ> Butternut squash.
- Celery โ> Fennel.
- Garlic โ> Omit or use garlic-infused oil if tolerated.
- Tomato paste โ> Skip if unavailable.
- Smoked paprika โ> Sweet paprika.
- Dried oregano โ> Italian seasoning.
- Ground cumin โ> Omit if preferred.
- Kidney beans โ> Black beans.
- Pinto beans โ> Borlotti beans.
- Cannellini beans โ> Navy beans.
- White rice โ> Jasmine or basmati. For orzo, simmer the soup alone for 10 minutes, then add orzo and cook about 8 minutes. Cook farro, barley, or buckwheat separately; stir in toward the end.
- Diced tomatoes โ> Crushed tomatoes.
- Vegetable broth โ> Chicken broth.
- Spinach โ> Kale, chard, or cabbage. Add kale or chard earlier; sautรฉ cabbage with the vegetables for 5 minutes.
- Lemon juice โ> Wine vinegar.
- Parmesan โ> Pecorino or skip.
- Slice carrots thinly so they soften before the rice overcooks.
- Cook the flavor base for a full minute, stirring to prevent burning.
- Reduce sodium: rinse beans well; choose no-salt-added cans and low-sodium broth.
- Simmer gently and stir occasionally to prevent sticking.
- Taste the rice: cook until tender, adding broth as needed.
- Loosen leftovers with broth or water when reheating.
- Add sturdier greens earlier; sautรฉ cabbage with the vegetables for 5 minutes.
- Cook whole grains separately, then stir in toward the end.
- Adjust salt after the lemon, allowing for Parmesanโs saltiness.
- Storage: refrigerate in airtight containers for 3โ4 days or freeze for up to 3 months.
Nutrition
Donโt Lose This Recipe

Hi! We are Nico & Louise
We're here to share easy, healthy, and delicious recipes ๐ฟโจ.
Welcome to our blog, we are glad you are here.





Good