Arroz con Gandules, Puerto Rico’s national dish, is enjoyed year round, but especially for the holidays. This authentic Puerto Rican rice with pigeon peas is cooked with sofrito, pork, and salty green olives for maximum flavor.

Traditionally cooked in a caldero, Arroz con Gandules is made with medium-grain white rice and tender pigeon peas (gandules). Salty pork (like ham or bacon) and green olives are often added for even more flavor. Everything is cooked together in a savory sofrito base, until the rice soaks up all of the seasonings and turns a bright yellow-orange color.
The best part of any pot of Puerto Rican rice is the pegao! Pegao (pronounced peh-GOW) is the crispy, golden layer of rice that forms at the bottom of the pot when the rice is cooked just right. It’s a beloved treat that families will fight over to see who gets the last crunchy spoonful!
“I made this arroz con gandules recipe to serve with Pernil and it’s absolutely a keeper. It was super simple to make and a really nice change from black beans. We’d never tried the pigeon peas before, but really liked them. I may use chicken broth next time (instead of water) to add just a little more flavor. I also followed the directions to stir gently halfway through and leave the bottom alone. This produced a crispy crust on the finished rice that provided a great texture. Super delicious!!” — Shannon, skilled home cook for over 30 years.

Key Ingredient Notes
Visit the printable recipe card below for the full ingredient list and amounts.
- Rice: Medium grain white rice, like arroz Rico, is the traditional choice. The next best substitute is to use long grain white rice. Short grain rice is the worst choice as it will become sticky.
- Sofrito: You can use a red or green Sofrito (called recaito), homemade or store bought, it’s up to you. If using store bought, frozen or fresh refrigerated Sofrito will have a lot more flavor than jarred. Green Sofrito is herb-forward, made with green peppers, garlic, culantro, and cilantro. Red Sofrito is a blend of tomatoes, red peppers, onions, garlic, culantro, and/or cilantro.
- Gandules: Frozen or canned pigeon peas both work well.
- Oil: I grew up using vegetable oil, however olive oil or avocado oil will both work just fine. Some families use achiote oil for an added layer of flavor and color.
- Seasonings: I used my homemade sazon seasoning, but you can also use store bought Sazon con culantro y achiote. This adds the classic flavor and color to the rice, do not skip it. You will also need adobo, salt, black pepper and cumin powder.
- Ham/Bacon: Sautéing a little bacon or ham in the pot adds more depth with a slightly smoky flavor. Want to keep it vegetarian? Skip the meat entirely, there’s plenty of flavor from the sofrito and spices!
- Green Olives: While optional, these add a salty, briny pop of flavor. You can leave them whole or slice them. Capers are also commonly used instead.

Want to save this recipe?
How to Make Arroz con Gandules
Scroll down to the printable recipe card for full instructions!
You must rinse the rice! Use a fine mesh sieve and rinse your rice with water in the sink until it runs clear. This quick step will remove the starch from your rice and prevents the rice from turning mushy.
Make sure to measure the rice and water. The ratios are very important to achieve the right texture, so it’s important to accurately measure both.


Keep the steam in the pot. This helps to cook the rice without burning it. Traditionally the rice would be covered with a banana or plantain leaf. However, a tight fitting pot lid will work just fine! If you don’t have one, you can also make one with foil.
Do not stir the rice more than once or it can become sticky/mushy! Some Puerto Ricans insist that you don’t stir the rice at all to get the best pegao (crispy rice bits at the bottom). However, I find stirring it once cooks everything more evenly. So half way through cooking, I remove the lid and stir it just once. Gently folding the rice up from the bottom, making sure not to disturb the rice at the bottom.
Let it rest for 10 minutes. Once the rice is tender and has absorbed all the liquid, remove it from the heat and let it sit, untouched, with the lid on. This lets the rice “steam”, which makes the final texture just right. Then you can fluff and stir the rice and serve!

How To Serve
Puerto Rican rice and pigeon peas is traditionally served with pernil or pasteles. And in my family, it’s simply not the holidays without a glass of coquito and a bowl of ensalada de doditos or ensalada de coditos con jamon!
However, if you are Puerto Rican, you know that just like rice and beans, we serve arroz con gandules with everything! This rice is also great with a bowl of carne guisada, or served with achiote chicken or a chuleta frita. We also always add a side of sweet fried plantains or crispy fried tostones!
Arroz Con Gandules (Puerto Rican Rice and Pigeon Peas)
Ingredients
- 4 slices bacon or diced ham, optional
- 2 tablespoons oil, vegetable oil, olive oil, or achiote oil
- 1 cup canned gandules, or frozen, drained from the water
- ¾ cup tomato sauce
- ½ cup green olives, sliced or whole, or capers
- ¼ cup sofrito, thawed if using store bought frozen sofrito
- 1 ½ teaspoons salt
- 1 teaspoon adobo seasoning
- ½ packet Sazon con culantro y achiote, or 1 tsp homemade sazon seasoning
- ½ teaspoon ground black pepper
- ¼ teaspoon ground cumin
- 3 ½ cups water, or low-sodium chicken broth
- 2 ½ cups arroz Rico, medium grain white rice
Want to save this recipe?
Instructions
- Heat a large heavy bottomed pot like a dutch oven, or a caldero if you have one, over medium heat. If using ham or bacon, slowly cook the meat until crispy, remove meat from pot and set aside leaving the drippings. If not using meat, add oil before continuing with the next step.
- Add the gandules, tomato sauce, green olives, sofrito, salt, adobo seasoning, sazon, black pepper, and cumin. Stir to fully combine and cook for about 5 minutes. Once the mixture becomes fragrant, pour in the water and bring it to a boil over high heat.
- Using a fine mesh sieve, rinse your rice well with water in the sink and then add the rice to the pot. Stir until rice is submerged and pigeon peas are distributed evenly and bring to a boil once more.
- Once boiling, reduce the heat to medium-low, cover, and cook for about 25 minutes. You can add your ham or bacon back in now if you want, or wait to add it in again before serving. It is important to keep the pot covered with a tight fitting lid to trap the steam and keep the moisture in, to properly cook the rice. If you don’t have one, make one out of foil.
- Optional: Half way through cooking, remove the lid and stir by folding rice from the bottom up, but do not disturb the rice at the bottom of pan. This is a very touchy subject as some Puerto Ricans insist that you don't stir the rice while cooking to get the best pegao (the crispy, golden layer of rice that forms at the bottom of the pot). However, I find stirring it once helps it cook more evenly. Whatever you do, do not stir it more than once.
- After simmering for 25 minutes, remove the arroz con gandules from the heat and let it sit untouched (with the lid on) for 10 minutes. This is called letting the rice "steam". The rice is done once all the liquid is absorbed. After letting the rice rest, remove the lid, fluff/stir the rice and serve warm!
⭐️ Tried this recipe? Leave a comment and rating! It only takes a minute and helps support our family-run blog. ❤️
Notes
Video
Nutrition
Categories:
More Puerto Rican Recipes To Try
- If you like this Puerto Rican rice with pigeon peas, you should also try this arroz blanco.
- Queso flan is my favorite as it’s extra creamy, but you also can’t go wrong with a traditional flan recipe or chocolate flan!
- This Puerto Rican sancocho recipe is so hearty and comforting.
- For more traditional desserts, try tembleque (coconut pudding) or soft Mallorca bread.
Post may contain affiliate links. Read my disclosure policy.









Thank you for the recipe; it came out perfect!
I’ve made this exact recipe probably 10 times now and it’s so good! I cook up some cubed Spam and throw it in in place of bacon or ham It’s a family favorite.
It is delicious definitely love the flavor. Thank you for that but too much liquid… I’d do 3 cups water next time or let boil much longer… It came out very sticky.
I made this recipe a few times. And followed every instructions, why does my rice still come out a little hard. After I had stirred the bottom up. I hate to add more water to lose flavor. I’m still trying to perfect this.
Hi Delora! Yes, sounds like your rice is not cooking all the way through. What kind of rice are you using? I’d start by adding a 1/2 to 1 full cup more of water depending on how un-cooked it still was previously.
I was using white rice medium grain. Next time I want to try using Jasmine rice.
Soy mexicana y me encanta la comida puertorriqueña, yo vivo en un complejo de apartamentos en el sur de California y casi eran puro puertorriqueños, aprendí poco a hacer el arroz con gandules, el pernil y tostones, pero siempre falta algo. Muy agradecida con toda esta explicación que nos da. Dios le Bendiga !! Mi nombre es Ana Pesqueira ❤️✨
How much sazon seasoning do I use if I make yours from scratch?
Hi Liz! Ah – that would be helpful to include – thanks for catching that! I will update the recipe above, but if using homemade sazon, use 1 teaspoon! You can always add a little more, to taste, if you want later.
Made this tonight and it was delicious. However my rice is a bit sticky? I used the medium grain rice as instructed. Any suggestions on how I can fix this next time?
Hi Christina! Did you rinse the rice well before adding it? If you didn’t rinse the rice, then that is definitely why! If you did rinse the rice, my next suggestion would be to use just a little less water next time, I’d try 3 1/4 cups water instead of the 3 1/2 cups.
I made this last night and it was absolutely amazing! I am definitely not a cook and had anxiety the whole time that it would not turn out right. I did not stir at all after the initial adding of rice. I somehow scorched my pot though and the “crisp bottom” was burnt. I wonder if I had the pot too high during the 25 min… but the rice still came out cooked properly.
This recipe was so easy to make and delicious. It was my first time making it and it won’t be my last
This was delicious! Thank you!
SO delicious and easy! I’ve tried to make arroz con gandules many times and this is the best recipe. Thanks!
Hi,
If I want to do 4 cups of rice how much water should I use?
Hi Madeline! If you click the PRINT button in the recipe card, it will take you to the print version of the recipe which allows you to adjust the number of servings which will adjust the ingredient amounts. For this recipe, if you change it to make 11 servings, it will adjust all of the ingredients to use a little over 4 cups of rice. Hope this helps!
Thank you for this!! I cannot cook worth the dollar in my pocket, but these directions were on point! My children live for this and even share with their friends. I don’t eat meat and still this recipe boasts of real Puerto Rican flavor! Again, I CANNOT COOK, but this recipe gives some hope to my name lol.
This cracked me up, so glad you all enjoyed it!
Delicious!
I’ve tried a few different recipes, this one has come out perfect every time. I highly recommend making your own sofrito, put in ice cube trays with a lid and freeze for later use.
Wow! I made this today and it really came out amazing! Will definitely make this again…..❤️❤️
I dont eat pork, is there another type of meat that would work well with this recipe??
Hi Darlene! The pork (ham/bacon) is optional, so I’d recommend just skipping it. It will still be delicious!
You can use other meat. Pork is the tradition. Instead of cumin we use oregano
Hi there, i just tried making this, but I’m sure i did something wrong. I added all the water you stated and the correct amount of rice. But after the 12 minutes (halfway point), i stirred it, but the water was almost all gone by then. I left it for the remainder of time, but it was completely dry and raw. What did i do wrong? I also had it on medium low. Thank you for any help.
Hi Jean! Hmm, did you also include the tomato sauce and sofrito? That adds extra liquid as well, but it definitely shouldn’t be dry like you are describing.
Typically when I use tomato sauce it makes the rice really soggy. Any idea why? Or any tips?
Hi Mari! When you add sauce, are you subtracting some of the water? If you add sauce and keep the same amount of water, it’s usually too much liquid for the rice and you will end up with soggy rice.
Can tomato paste be used instead to cut back the water instead of sauce
If you use tomato paste instead of tomato sauce, you will need more water, not less. Tomato paste is highly concentrated, so you will need extra water to make up for taking out the tomato sauce. Hope this helps!
Hi, what size caldero do u use to could this serving size?
Hi Christine! 4.8 quarts or larger!
Thanks you for the recipes.What brand of the pot do you use?
Hi Marthin! This was a Le Creuset cast iron enameled dutch oven. You can use any large heavy bottomed pot and it should work just fine!
Very good! I can see this becoming a staple. Definitely can’t wait to add my own flair to this too.
Can you freeze this? If so, please let me know what’s the best method. There’s a lot of leftovers and I hate for it to go bad
Hi Jessie! Yes, you can freeze it! I place it in a freezer safe container (personally I like to use ziplock freezer bag) and freeze it for up to 3 months. Then I reheat in a pan with a little water and oil.
Can I use Goya Pinto Beans (15.5 oz. cans) & how many cans for this recipe?
Hi Judy! I would not recommend pinto beans, they are very different and would not taste correct and be off texture wise as well. If you can not find gandules, you can make the rice without them.
Hi! I’m very excited to try this rice as it look absolutely delicious!!! But, I can only find uncooked guandules instead of canned. Does someone know it the recipe would work if I cook the guandules beforehand and
add them when you add the canned ones? thanks!
Hi Isabella! Yes, you can cook them separately and then add them! I cook mine for about 1.5 hours, until tender.