Arroz con habichuelas, or Puerto Rican Rice and beans is a dinner classic made with rice, beans, tomato sauce, seasonings, and green Spanish olives.
It's a savory, flavor-packed side dish commonly paired with other Puerto Rican dishes, for example, sliced avocado, fried plantains, and my vegan version of beef stew or picadillo. So good! Just don't forget to add a sweet treat, like pumpkin banana bread, to make this meal complete.
To make this rice delicious, make your own sofrito, find the right ingredients, and use a caldero (cast-iron) pot if possible.
Or, a dutch oven works perfectly fine for this recipe.
Jump to:

Why You'll Love This Recipe
- Budget-friendly and accessible: Made with pantry staples like rice, beans, and spices. You probably already have everything you need.
- Flavorful and satisfying: Sofrito, sazón, and adobo bring rich, savory flavor to every bite.
- Naturally vegan and one-pot: No need for substitutions or extra dishes. Juust simple, wholesome ingredients cooked together.
Tips for the Best Arroz con Habichuelas
- Start with sofrito: Sauté it until fragrant to build a rich, savory base for the dish—don’t rush this step.
- Rinse your rice: This helps remove excess starch and keeps the grains from getting sticky or mushy.
- Let it rest: After cooking, keep the lid on and let the rice steam for a few minutes for the perfect fluffy texture.
What Kind Of Rice To Use?
You’ll find that either medium-grain or long-grain rice is used in Puerto Rican-style rice. Although I grew up eating medium-grain rice, I used long-grain rice for this recipe, instead.
I love using long-grain rice because it stays fluffy and they separate more (aka less of “sticky rice” texture). I also find long-grain rice easier to cook with.
I used opted to use basmati rice.
Dry Beans Or Canned Beans?
Depending on what I currently have on hand, I’ll switch between dry or canned.
Go for either one. Cooking from dry bean will take longer. Canned beans is a great option if you're pressed for time or just don't want to stick around in the kitchen for too long.
Feel free to use either canned or dry beans. Up to you.
Dry beans will take a bit longer to cook since they must be soaked overnight and cooked for at least an hour to become tender.
But, it’s worth it. Dry beans are cheaper and you can use the reserved bean water for your rice. Extra flavor alert!
If you’re using canned beans, just be sure to drain and rinse your beans before using them in the recipe.
Where To Buy Sazon And Adobo Seasoning?
Sazon and adobo are popular Puerto Rican seasonings that show up in most Puerto Rican dishes. This includes stews, rice, casseroles, and beans.
Most big-box grocery stores will carry these seasonings alongside your traditional seasonings and spices (salt, pepper, chili powder).
However, if you're unable to locate these seasonings there, check if the grocery store has an "ethnic" or Latin-food section.
Many Latin grocery stores may carry these two products. However, if all else fails, you can also find sazon and adobo on Amazon.
If you want to make your own Puerto Rican spices, check these out:
More Puerto Rican Recipes


Arroz Con Habichuelas
Ingredients
- ¼ cup vegetabable oil
- 2 cups long grain rice
- ½ cup sofrito
- 4 ounces tomato sauce
- 1 teaspoon adobo seasoning
- 2 teaspoon sazon
- 15.5 ounces canned pink or red small beans (or 1 cup cooked beans)
- 2 cups water
- ½ cup Spanish green olives
Instructions
- Rinse the rice several times to remove excess starch and any debris. Continue rinsing until the water runs mostly clear, then drain thoroughly.
- Heat the oil in a caldero or Dutch oven over medium-high heat. Once the oil is hot, add the rice. Toast the rice, stirring frequently, for 2–3 minutes, until the grains are lightly coated in oil and begin to smell slightly nutty.
- In a small bowl, whisk together the sofrito, tomato sauce, adobo seasoning, and sazon. Pour the mixture into the pot and stir well to evenly coat the rice. Cook for another 2 minutes.
- Add the drained beans and olives to the rice and stir to combine. Pour in the 2 cups of water.
- Leave the pot uncovered and bring the rice to a boil over medium heat. Cook until most of the liquid has evaporated and the rice is visible on the surface, with small steam holes forming.
- Gently mix the rice by folding it from the sides toward the center. Reduce the heat to low and cover the pot with a lid.
- Cook for an additional 20 minutes, or until the rice is tender and fully cooked through.
Notes
- This recipe works best in a caldero or heavy-bottomed Dutch oven. Please note, thin pots or aluminum may scorch the rice during the low-heat cooking phase.
- Long or medium-grain white rice is recommended. Basmati can be used, but it tends to be less sticky than traditional long-grain rice, so the texture may differ slightly. Adjust water slightly if using a different rice variety.
- This recipe is on the lower-salt side. Feel free to adjust adobo, sazon, or add a pinch of salt to taste. Sazon brands vary widely in sodium and MSG content, so flavor intensity may differ.
- Use Spanish green olives, pitted. You can leave them whole or slice them depending on your preference. Whole olives give bursts of flavor, while sliced olives distribute more evenly.
- This recipe is on the less-salt side. Feel free to add more sazon, adobo, or a pinch of salt if that's what you prefer. Also note, I used sazon with sodium/msg.
Nutrition
Did you try out this Arroz Con Habichuelas recipe?
Please leave a comment below, share it, rate it, or tag a picture @plantbasedandbroke on Instagram and hashtag it #plantbasedandbroke. Show off that creation with us.







Carol
Question, 2cups of water is no where near 1 inch above the rice. Should I add more than 2 cups in order to make it 1” above the rice?
Thank you!
Aly Michell
“about 1 inch above the rice” note was just a visual reference and isn’t necessary to follow. I’ve also updated the recipe card for clarity, so it should be easier to follow now. Enjoy the rice!
Nicole
Yum! Such comfort food. I used your sofrito recipe to make this and it was delicious. I did omit the olives but kept everything else the same and we loved it! I tend to make this as a main dish when we just want a smaller, simpler meal. Thank you!
Aly Michell
That's awesome! Glad you loved the recipe! Arroz con habichuelas is such a great dish when you want something simple, yet flavorful!
Pam
Can I use tomato puree instead of sauce?
Aly Michell
Yep, that's fine! You'll just need to add a couple of tablespoons of water to thin it out.
Rachel
Loved it! So easy and flavorful.
Shelley
My husband asked that I make rice and beans. I'm not a big rice fan, being Italian I eat mostly pasta dishes. He said this was the best rice and beans he ever ate. I did substitute chicken broth for the water to enhance the flavor. We're not vegan. I will look into making homemade sofrito next time. This was a big hit tho! I did omit the olives
Aly Michell
I am glad you and your husband loved it! Yes, making your own sofrito will make a huge difference to this dish!
Debbie
When do you add the beans? I can’t wait to try this. Looks delicious!
plantbasedandbroke
Hey Debbie! Thank you for pointing that out. Please add the beans with the rice. I've updated the recipe! 🙂