Arroz con Gandules: 30-Minute Puerto Rican Rice with Sofrito and Pigeon Peas
You know that side dish that turns a random Tuesday into something festive? Arroz con gandules is it. Fluffy golden rice, dotted with tender pigeon peas and soaked in sofrito and sazón, all made in one pot.

The dish is the soul of any Puerto Rican holiday table, but it comes together so fast you can pull it off on a weeknight without breaking a sweat. A few pantry staples, twenty minutes of simmering, and you have a pot of rice that tastes like it spent all day getting ready.
Why This Rice Stays in My Rotation
The grains come out fluffy every time, not sticky or gummy, because the steps build in a quick toasting before the liquid goes in. The pigeon peas hold their shape and add a little nutty pop, while the sofrito and sazón do all the heavy lifting for flavor.
I make it at least twice a month because it pairs with almost anything and I almost always have the ingredients in my pantry. It also reheats beautifully, so lunch the next day tastes even better than the first round.
Ingredients

- 3 tbsp vegetable or annatto oil: annatto oil gives the rice its signature warm yellow tint.
- ½ cup sofrito: homemade or your favorite store-bought brand.
- 2 packets (or 2 tsp) sazón seasoning: use the kind with culantro y achiote for the classic color and taste.
- 1 tsp adobo seasoning: the garlicky, salty all-purpose blend; adjust if your sazón is already salty.
- 3 tbsp tomato sauce: adds a subtle tang and helps deepen the color.
- 1 (15 oz) can pigeon peas (gandules): drained and rinsed, so they stay firm and nutty.
- 2 cups long-grain rice: rinsed until the water runs clear to remove excess starch.
- 2½ cups chicken broth or water: broth adds richness, water keeps it mild and lets the sofrito shine.
- 2 bay leaves: tuck them in whole for an earthy backbone.
- ½ cup pimento-stuffed green olives (optional): briny bursts that cut through the richness.
- 1 tbsp capers (optional): another layer of tang, classic in many Puerto Rican kitchens.
- 1 tsp salt: taste the broth before adding; sazón and olives bring salt of their own.
Variations / Substitutions
- No sofrito?: toss ½ a small onion, a few garlic cloves, a handful of cilantro with stems, and ¼ of a green bell pepper into a mini chopper with a splash of water and pulse until it forms a rough paste.
- Swap sazón: mix ½ tsp ground turmeric, ¼ tsp garlic powder, and a pinch of ground cumin for each packet. The color will be a bit softer, but the flavor holds.
- Different peas: canned green peas work if you cannot find pigeon peas. They are sweeter and softer, so the rice will have a milder bite.
- Vegetable broth or water: use it instead of chicken broth to keep the dish vegan, and check that your sazón packet is free of any meat-based ingredients.
- Olive and caper free: leave them out, and the rice still tastes deep and savory.
If you enjoy this, try my Puerto Rican pernil next.
How to Make Arroz con Gandules
Step 1: Sauté the Sofrito and Tomato Sauce

Heat the 3 tablespoons of oil in a heavy pot (a caldero or Dutch oven) over medium heat. Once the oil shimmers, tip in the ½ cup sofrito and cook, stirring often, until it darkens and smells intensely fragrant, about 3 to 4 minutes. Stir in the 3 tablespoons tomato sauce and cook for 1 minute more.
The sofrito will sizzle and stick a little, and those browned bits on the bottom of the pot are pure flavor. They will release once the liquid hits a few steps later.
Step 2: Toast the Rice and Seasonings

Add the 2 cups of rinsed rice, the sazón, adobo, and salt. Stir well so every grain gets slicked with oil and sofrito, and cook for 2 minutes, stirring frequently, until the rice turns slightly opaque and smells toasty.
You will hear a faint crackle as the rice toasts. That step locks in separate grains and prevents mushiness later, so do not rush past it.
Step 3: Add the Potted Peas and Simmer

Pour in the 2½ cups of broth or water, then add the drained pigeon peas, bay leaves, olives, and capers. Give everything one final stir, bring it to a boil, then reduce the heat to low, cover tightly, and simmer for 20 minutes. Do not lift the lid.
After 20 minutes, tilt the pot gently to see if any liquid pools at the edge. If it still looks wet, cover again and let it go another 2 to 3 minutes. The goal is fluffy, dry rice, with a thin golden crust starting to form at the bottom (that is pegao, the best part).
Step 4: Fluff and Pile High

Pull the pot off the heat, keep it covered, and let it sit for 5 minutes so the steam settles. Remove the bay leaves, then fluff the rice with a fork, scraping gently if you want to lift up any crisp bits. Spoon the rice onto a wide platter, scatter a few extra olives on top, and serve it hot.
The rice will be bright and fragrant, the peas glossy, and if the bottom delivered a little pegao, it will be salty and crackly against the soft grains. That contrast makes the dish.
A Few Notes for Great Puerto Rican Rice
- Rinse the rice really well until the water runs clear. Cloudy water means starch is still on the grain, and that leads to gummy rice, not fluffy separate grains.
- A caldero or heavy Dutch oven makes a difference. The thick bottom spreads heat evenly and coaxes that coveted pegao without scorching.
- Do not peek. Lifting the lid releases steam and messes with the cook time. Trust the 20 minutes, then check quickly.
- For extra golden color, use annatto oil or stir a pinch of turmeric right into the sofrito. The hue gets even deeper.
- Leftover rice freezes beautifully in zip-top bags for up to 3 months. Reheat it in the microwave with a damp paper towel, or crisp it in a skillet with a little oil.
Scale the recipe up or down using this rice-to-liquid guide.
| Rice (cups) | Liquid (cups) | Serves |
|---|---|---|
| 1 | 1¼ | 3 |
| 2 | 2½ | 6 |
| 3 | 3¾ | 9 |
Storing Leftovers
- Refrigerate: cool the rice completely, then transfer to an airtight container. It keeps well for up to 4 days.
- Reheating: for fluffy results, sprinkle a few drops of water over the rice and microwave covered with a damp paper towel. If you want to re-crisp the bottom, spread the rice in a hot skillet with a tiny drizzle of oil and let it sizzle for a couple of minutes.
What Goes Well With This Rice
Arroz con gandules is a side dish that feels like a main course, so it pairs naturally with stewed or roasted meats. Slow-roasted pernil gives you juicy and drippings that the rice soaks up. Pollo guisado, Puerto Rican chicken stew with potatoes and olives, ladled right next to a mound of rice, turns the plate into comfort food. A simple seared turkey chop seasoned with adobo also works beautifully, the salty crust mirroring the crisp rice at the bottom of the pot.
Frequently Asked Questions
Can I use brown rice?
Yes, but you will need more liquid and a longer simmer, about 40 minutes. The texture will be chewier, and the color will be less vibrant.
Is this recipe vegan?
It can be. Use water or vegetable broth instead of chicken broth, and double-check that your sazón packet is free of animal products. The rest of the ingredients are plant-based.
What if I cannot find pigeon peas?
Canned green peas work in a pinch, though they are sweeter and softer. For the closest match, look for canned gandules in the Latin foods aisle; some stores also carry them frozen.
Do I have to use olives and capers?
Not at all. They are completely optional. The rice gets plenty of flavor from the sofrito and sazón without them.
Why did my rice turn out mushy?
The most common reasons are skipping the toasting step or not rinsing the rice well enough. Also, lifting the lid during the simmer releases steam and adds time, which can over-hydrate the grains.

Arroz con Gandules Recipe
Ingredients
Method
- Heat oil in a heavy pot over medium heat. Sauté sofrito until fragrant, 3-4 minutes, then stir in tomato sauce and cook 1 minute more.
- Add rinsed rice, sazón, adobo, and salt. Stir constantly and toast the rice for 2 minutes, until grains look opaque and smell nutty.
- Pour in broth, then add pigeon peas, bay leaves, olives, and capers. Bring to a boil, cover tightly, reduce heat to low, and simmer 20 minutes without lifting the lid. Check for remaining liquid and cook 2-3 minutes more if needed.
- Remove from heat and let rest, covered, for 5 minutes. Discard bay leaves, fluff with a fork, and serve hot.
