Whip up a batch of this Spanish Rice And Beans in under an hour! Loaded with plant protein and Mexican flavors, it’s guaranteed to bring excitement to family dinners or weekly lunches.


large bowl of spanish rice and beans on white background

When you need a bright and festive side dish in under an hour, turn to Spanish Rice and Beans (also known as Mexican Rice). The ingredients in this protein-rich recipe are uncomplicated and friendly to your wallet. It’s the perfect companion for a kid-approved dinner, lunches throughout the week, or even potlucks. 

Spanish rice is not a dish from Spain at all, but is actually Mexican inspired. Depending on where you live or grew up, it may be called something different, but it refers to the same sort of dish. This recipe is my own spin on a version I’ve been eating for years.

The rice is cooked on the stovetop while deep flavors from cumin, paprika, salsa, and vegetable stock soak into each grain. The added beans at the end will give this side dish enough protein to keep you full for hours. 

I love to serve this on the side of my Vegan Enchilada Casserole or added to my Best Ever Vegan Taco Meat.

This recipe is…

  • Cheap and easy!
  • Family-friendly
  • Budget-friendly
  • Full of flavor
  • And super flexible


dark pan filled with rice and beans, cilantro on top, colorful spoon in it

Ingredients You Need

  • Onion – A neutral-tasting onion, such as white or yellow, is best.
  • Long Grain Brown Rice – Use white long grain rice if preferred. Simply cook the white rice for 15 to 20 minutes instead of 40.
  • Vegetable Broth – The broth will soak into the rice as it cooks on the stovetop, giving it a more savory flavor.
  • Salsa – Feel free to use your favorite kind of salsa. Try to use a tomato-based salsa rather than a sweet kind with either mango or pineapple.
  • Ground Cumin – Don’t skip the cumin! This seasoning brings an unmistakable Spanish flavor to the rice dish.
  • Smoked Paprika – For a little heat and smokiness!
  • Canned Beans – One 15 ounce can of either kidney, black, or pinto beans is all you need. You can also cook dried beans in an Instant Pot beforehand if you prefer.
  • Salt
  • Cilantro – For serving. Feel free to swap it out with sliced green onions if you aren’t a fan.

How to Make Spanish Rice and Beans

Begin by sautéing the diced onion in a large pot with some oil over medium heat. Sauté for 3 to 4 minutes until soft and fragrant.

chopped onion in a pan

Next, add the rice, vegetable broth, salsa, cumin, and paprika. Stir to combine.

Bring the mixture to a boil, lower the heat, then cover and simmer for about 40 minutes or until the rice is tender and cooked.

rice, tomatoes and other ingredients in a pan, not mixed up

Next, stir the drained and rinsed beans into the rice mixture. Add salt to taste.

Let the cooked Spanish rice and beans sit for at least 10 minutes before serving. To finish, sprinkle with fresh cilantro or green onions.

Can I Make it in an Instant Pot?

You can easily cook Spanish rice and beans in an Instant Pot! Here’s how to do it:

  1. Sauté the onion with some oil in the Instant Pot, then add in the rest of the ingredients (except the beans) and stir. 
  2. Cook at high pressure for 24 minutes. Let the pressure release naturally, then stir in the beans and add more salt to taste.

In need of more information? Check out my detailed guide on cooking Spanish rice in an Instant Pot.

How to Store

Leftover rice and beans is an excellent “grab and go” snack or side dish throughout the week. They can be included in your weekly lunches or a simple option when you need a quick snack!

To store rice and beans, add any leftovers to an airtight container. Keep them in the fridge for up to 3 days. 

To reheat the chilled rice and beans, microwave them for 1 or 2 minutes. Alternatively, add leftovers to a skillet on the stovetop and cook on medium-low until warmed through.

Make sure the leftover rice is completely cool before storing it away. This will help the meal stay as fresh as possible.

Adjust the Flavors

You can easily adjust the flavors to fit your preferences. An easy solution would be to add more salt or pepper to round out the flavors, but let’s not stop there! Follow my suggestions if you’d like to add a little more flavor, heat, or substance to your rice and bean dish:

  • For heat, add in 1 or 2 diced jalapeño peppers (seeds removed or left in to make it extra spicy) or a sprinkle of chili flakes.
  • For acidity, finish the Spanish rice and beans off with 1 or 2 tablespoons of lime juice.
  • For substance, sauté diced red bell peppers and minced garlic along with the onion, then stir in green olives to the cooked rice dish.

pan with red rice, adding black beans to it

What Can I Serve with Rice and Beans?

Try vegan beans and rice on the side of your main dish or added to any of these tasty Mexican recipes:

square image of a bowl of rice and beans, cilantro and tomatoes on the side
4.72 stars (42 ratings)

Spanish Rice and Beans

This recipe for Spanish Rice And Beans is ready in under an hour! Loaded with flavor, it’s guaranteed to bring excitement to family dinners or weekly lunches.
Prep: 5 minutes
Cook: 45 minutes
Total: 50 minutes
Servings: 6 servings


  • 1-2 tablespoons olive oil
  • 1/2 medium white or yellow onion, finely diced
  • 2 cups long grain brown rice
  • 3 cups vegetable broth
  • 1 1/2 cups salsa, tomato based
  • 1 teaspoon ground cumin
  • 1 teaspoon smoked paprika
  • 15 ounce can black beans OR kidney beans, drained and rinsed
  • salt, to taste
  • fresh chopped cilantro, for serving, optional


  • In a large pot, sauté the diced onion in the oil for 3-4 minutes over medium heat, then add rice, broth, salsa, cumin and paprika. Stir, then bring to a boil, lower heat, cover and simmer for about 40 minutes until the rice is cooked.
  • Once the rice is cooked, stir in the drained/rinsed beans. Add more salt to taste. Let it sit for at least 10 minutes before serving. Sprinkle with cilantro, if desired and serve.


  1. May use white long grain rice if preferred. Simply cook the rice for 15-20 minutes instead of 40.
  2. Instant Pot Version: Sauté the onion in IP, then add the rest (except the beans) and stir. Cook at high pressure for 24 minutes. Let the pressure release naturally, then stir in the beans and add more salt to taste.
  3. May serve with chopped green onions instead of cilantro if desired.
  4. For more heat, add in 1-2 diced jalapeños with the onion or a sprinkle of chili flakes. For acidity, finish the dish with 1-2 tablespoons fresh lime juice. For substance, add a diced red bell pepper with the onion, and stir green olives into the finished dish.
  5. Leftover rice and beans will keep in the refrigerator for 3 days or so, and make a perfect meal prep for quick lunches.


Serving: 1serving | Calories: 373kcal | Carbohydrates: 71g | Protein: 12g | Fat: 5g | Saturated Fat: 1g | Sodium: 934mg | Potassium: 601mg | Fiber: 10g | Sugar: 5g | Vitamin A: 726IU | Vitamin C: 2mg | Calcium: 58mg | Iron: 3mg
Course: Main Dish, Side Dish
Cuisine: Mexican
Author: Nora Taylor
Did you make this recipe?Mention @nora_cooks_vegan_ or tag #noracooks!


We are a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to amazon.com. Read my full disclosure here.

Posted In: , , , , , , , , , , , , , ,

you may also like:


  1. I love this recipe and modified it a little so that the rice was fluffy and dry like Mexican rice instead of Spanish rice.

    First, I sautéed the onions in a non-stick skillet with a little vegetable broth until tender.

    Next, I placed the onions in a medium-sized, round Pyrex dish. (The Pyrex dish must fit inside your instant pot when placed on top of a trivet.)

    In the bottom of your Instant Pot, add three cups water, and then place a trivet inside the instant pot. (I use a trivet with about a 1” footer.  It is okay if the water rises above the trivet.)  I use this method to steam the rice so it is fluffy and not “wet” when cooked.

    Next, I adjusted the liquid in the recipe  from 3 cups to 2 1/2 cups vegetable broth, used only 1/2 cup salsa, and added 2 small packets Goya Sazon with Cilantro and Tomato seasoning.. (This yields a very fluffy and dry Mexican style rice; if you prefer a more moist rice like Spanish-style rice, add more salsa.)

    Add the adjusted broth and salsa along with all the other ingredients (except the beans) to the onions inside the Pyrex bowl.

    Place the Pyrex bowl (with the Rice ingredients) on top of the trivet in the instant pot and pressure for 24 minutes. Let slow release for 15 minutes. Then fluff rice with a fork before serving.

  2. I made this for a birthday celebration, and everyone loved it.
    It is now my go to Mexican  rice dish. For leftover, you could add some tomato juice, sometime some cooked bacon bits, cover with grated cheese and you have a good Spanish rice.
    Will keep for sure!

    1. Thank you, Joy! I’m so glad you loved the recipe! I appreciate you taking your time to share your review and comments!

  3. I’ve previously commented on how great this recipe is, but I just wanted to say I had some leftover Spanish rice in the fridge.. This time I put it in a  small dish, heated it up and topped it with crushed tortilla strips  and sliced avocado. Nacho Spanish rice! I could have added some salsa and  black olives and maybe I will next time. But it was so tasty! This rice is a versatile.., you can do a lot with it.  

  4. So good and easy! Made it with white rice, an extra can of tomatoes, and some water instead of broth because that’s what I had on hand. I also added chopped button mushrooms and bell pepper (leftovers, had to use them). Since I used white rice, I adjusted the cooking time, so it was done much faster too. What a wonderful idea to use salsa and what a superb and versatile dish!

    1. Hi Lulu. I’m so glad you found the Spanish rice delicious and easy! It is a great dish to change around and experiment with! Thanks so much for taking time to share your wonderful review and comments!

  5. Just made this and it’s fabulous! Taking it to a party today and will be thrilled to share it with friends!

  6. Best. Rice. Ever. So quick & easy! I like to put some fried eggs & avocado on top of mine for breakfast, lunch or dinner.

  7. I just made this and tasted it. Wow! I no longer need to buy Spanish rice in a box with all that sodium! This is easy and delicious. Thank you! 

    1. Hi Rebecca. I agree that fresh, homemade rice is so much better! I’m glad you love this recipe! Thanks for sharing your wonderful review!

  8. Going to try this tonight with ribs. I’m going to use a can of Rotel tomatoes for my salsa part.  Will post again when complete.

  9. This recipe looked so good so I went to the store and purchased all the ingredients and started my journey to make the Spanish Rice and Beans. I did as the recipe said. I put the ingredients in the pot, brought it to a boil and let it simmer for 40 minutes. I checked at 40 minutes and the rice was not cooked, added 25, another 25 minutes and the rice still wasn’t done. I used brown rice….I have no idea what happened. I did not put the beans in because I wanted to rice to get done. It does smell wonderful. Can you help. I want to try it again but I don’t know what to do.

    1. I wonder if you had the heat up too high, so the liquid cooked off before the rice had a chance to cook. It should simmer quite low for rice, not be boiling just a low simmer for 40 minutes. You added all the liquid and salsa? Also, make sure to use a salsa that is tomato based and not too thick. That should help as well.

  10. I LOVE the flavor of this rice and  I’ve made it several times now, but I always burn it.  Today I decided to try it in my rice cooker and it worked PERFECTLY! I also toasted the rice in a little oil before adding it to my rice cooker, and it really made a huge difference with the texture. This recipe has become one of my monthly staples, so thank you!

    1. I’m glad you love the rice! It’s great you’ve found it cooks well in the rice cooker. I appreciate you sharing your review and comments! Thank you!

    1. Thank you so much! If you divided it by 6, that would be one serving size. I think it’s about 1 1/2 cups of the cooked dish.

  11. This was amazing as always! I didn’t have salsa but wanted to use up some diced tomatoes, so I used that in its place. Probably would have been even better with salsa but it was fantastic with the tomatoes. Such a simple, filling, budget-friendly meal! 🙂

  12. Love your recipes Nora and have made many. I can’t wait to try the apple pie next. Like for many Mexican Americans, Spanish rice has been a staple in my diet. My mother made it with chicken stock but I veganize it with vegetable stock. For tomatoes, I use a diced fresh tomato, if I have on hand and if not, I use canned diced tomato, tomato sauce, paste, salsa, or pico de gallo. I agree with Andrea below. After sautéing onion and garlic, add the rice and toast (brown it) for about 7 minutes on med to low heat before adding the tomato and broth. As the rice is toasting, continuously stir it so that it doesn’t burn. The toasted rice not only delivers a nutty flavor but also a nice deep color. For variation, I sometimes add frozen peas and carrots in the last five minutes of cooking. Buen provecho!

    1. Thank you so much, I will have to try it sometimes your way, and maybe using fresh tomatoes because that sounds wonderful!

  13. I’m such a fan of your recipes! When I saw this recipe I was interested to see your spin on Spanish rice. I’m of Mexican descent and would love to give tips to anyone doing this recipe! Toast/sauté rice in your pan  till light golden brown before adding broth, it gives it more depth in flavor!  And I personally don’t use salsa but just might now! We typically use plain tomato sauce. Just in case many don’t have salsa in their fridge or pantry. Thank you for all the wonderful recipes. Absolutely loved the recent apple pie and lemon shortbread cookies. If you haven’t tried them yet, then you should! ?

  14. Nora,
    I made this last night for dinner and it was so good! It’s one of my favorites now. I can’t wait to eat the leftovers for dinner tonight! Thanks for the recipes. They’re the best!

  15. I used your directions for the instant pot and it came out rather soupy and the rice was undercooked. I followed to a T and used brown basmati and a taqueria style salsa. I added a red bell pepper and three jalapeños. Wasn’t inedible-who’s not made a meal with undercooked rice before? Good flavor, just undercooked.

    1. I’m sorry to hear that! I find this happens in the Instant Pot sometimes with rice and rice dishes, so I just leave it covered in the pot for 15-30 minutes after cooking, which helps it steam further and absorb the extra liquid. Hope that helps!

  16. I make this frequently.   It is so good!  My husband was skeptical at first but now it’s one of his favorite meals!!  

Leave a Reply

Your email address will not be published. Required fields are marked *

Recipe Rating

This site uses Akismet to reduce spam. Learn how your comment data is processed.