Arroz con Gandules: Puerto Rican Rice Recipe

Updated November 6, 2026

Total time
1 hr 20 min
prep 20 min · cook 1 hr
Serves
8
portions as written

Jump to recipe

Arroz con Gandules: Puerto Rican Rice Recipe

Arroz con gandules is the heart of Puerto Rican home cooking—a fragrant, golden rice dish simmered with pigeon peas, sofrito, and pork, all in one pot. It’s the dish you’ll find at every holiday table, Sunday lunch, and neighborhood gathering. The rice absorbs the deep flavors of annatto oil, garlic, and olives, while the gandules (pigeon peas) add a nutty, creamy texture. This recipe delivers that classic, comforting pot of rice that’s savory, slightly tangy from the olives, and impossible to stop eating.

Ingredients

  • 3 cups (600 g) medium-grain rice (like Goya or Calrose), rinsed and drained
  • 1 can (15 oz / 425 g) gandules (pigeon peas), drained and rinsed
  • 4 oz (115 g) smoked ham, diced (or 4 oz salt pork, see Tips)
  • 3 tbsp (45 ml) olive oil
  • 2 tbsp (30 ml) annatto oil (achiote oil) – see Tips for substitute
  • 1/2 cup (80 g) finely chopped onion
  • 1/2 cup (75 g) finely chopped green bell pepper
  • 4 cloves garlic, minced
  • 2 tbsp (30 g) sofrito (store-bought or homemade)
  • 1 tsp (5 g) salt, plus more to taste
  • 1/2 tsp (1 g) dried oregano
  • 1/2 tsp (1 g) ground cumin
  • 1 bay leaf
  • 1/4 cup (40 g) pimento-stuffed olives, sliced
  • 2 1/2 cups (590 ml) water or chicken broth (low-sodium)
  • 1 tbsp (15 ml) capers (optional)

Instructions

  1. Prep the rice and pork: Rinse the rice in a fine-mesh strainer under cold water until the water runs clear. Drain well. If using salt pork, cut it into small cubes and blanch in boiling water for 2 minutes, then drain (this removes excess salt).
  2. Sauté the pork: In a large caldero or heavy-bottomed pot (see Tips), heat the olive oil over medium heat. Add the ham or salt pork and cook, stirring occasionally, until lightly browned and crispy, about 5 minutes.
  3. Build the sofrito base: Add the onion, green pepper, and garlic. Cook, stirring, until the onion is translucent, about 3–4 minutes. Stir in the sofrito, oregano, cumin, and bay leaf. Cook for 1 minute until fragrant.
  4. Add the rice and peas: Stir in the rinsed rice and the gandules. Cook, stirring constantly, for 2–3 minutes so the rice is well coated with the oil and sofrito mixture.
  5. Add liquid and seasonings: Pour in the water or broth, add the salt, olives, and capers (if using). Stir gently to combine. Taste the liquid—it should be slightly saltier than you want the final rice, as the rice will absorb salt. Adjust if needed.
  6. Bring to a boil, then simmer: Increase heat to high and bring the liquid to a rolling boil. Once boiling, reduce heat to low, cover the pot tightly with a lid, and let it simmer gently for 20–25 minutes. Do not lift the lid during this time.
  7. Check and rest: After 20 minutes, check the rice: if the liquid is absorbed and the rice is tender, remove from heat. If still wet, cover and cook for 5 more minutes. Once done, remove from heat and let it rest, covered, for 10 minutes.
  8. Fluff and serve: Remove the bay leaf. Use a fork to fluff the rice gently, then serve hot.

Tips

  • Use a caldero if possible: A caldero (an aluminum Dutch oven) distributes heat evenly and helps create the coveted pegao—the crispy, caramelized rice at the bottom. If you don’t have one, use a heavy-bottomed pot with a tight-fitting lid.
  • Annatto oil substitute: If you don’t have annatto oil, heat 2 tablespoons of olive oil with 1 teaspoon of achiote seeds (annatto seeds) over low heat until the oil turns deep orange, then strain out the seeds. Or substitute with 1 teaspoon of paprika mixed into the oil.
  • Salt pork vs. ham: Salt pork adds a richer, more traditional flavor, but it’s saltier. If using salt pork, reduce the added salt to 1/2 teaspoon, then adjust after tasting the liquid. Ham is milder and easier to find.
  • Don’t stir too much after adding liquid: Stirring after the rice starts cooking releases starch and makes the rice gummy. Stir only once after adding the liquid, then cover and leave it alone.

Serving Suggestions

Arroz con gandules is a side dish that shines alongside Puerto Rican classics. Serve it with pernil (roast pork shoulder), roasted chicken, or fried pork chops. It also pairs well with a simple green salad or tostones (fried plantains). For a vegetarian meal, serve with sautéed vegetables and avocado slices.

Variations

  • With coconut milk: Replace 1 cup of the water with coconut milk for a sweeter, richer rice, common in coastal regions.
  • Spicy version: Add 1–2 chopped ají dulce or a small habanero pepper (seeded) to the sofrito for heat.
  • Without pork: Omit the ham and use olive oil only; add 1/2 teaspoon smoked paprika to mimic the smoky flavor.
  • Add vegetables: Stir in 1 cup of diced carrots or green beans with the rice for extra color and nutrition.

Storage and Reheating

Store leftovers in an airtight container in the refrigerator for up to 4 days. To reheat, sprinkle with a little water and microwave in 30-second intervals, stirring between, until hot. For larger portions, reheat in a covered pot over low heat with a splash of water, stirring occasionally, until heated through. The rice will dry out slightly, so adding moisture is key. You can also freeze arroz con gandules in a freezer-safe container for up to 3 months; thaw in the refrigerator overnight before reheating.

Frequently Asked Questions

Can I use brown rice instead of white? Yes, but brown rice requires more liquid and a longer cooking time. Use 3 cups of broth and cook for 45–50 minutes. The texture will be chewier and the flavor nuttier.

Why is my rice mushy? Mushy rice usually comes from too much liquid or stirring too often. Measure the liquid exactly, and after adding it, resist the urge to stir. Also, ensure the heat is low enough to maintain a gentle simmer, not a vigorous boil.

Can I make this in a rice cooker? Yes. Sauté the pork and sofrito in a skillet, then transfer to the rice cooker with the rice, peas, liquid, and seasonings. Cook on the regular white rice setting, then let it rest for 10 minutes before fluffing.

Where can I find gandules? Canned gandules (pigeon peas) are available in the Latin foods aisle of most supermarkets or online. If you can’t find them, substitute with canned pigeon peas from an Indian grocery store, or use cooked green peas (though they’ll be softer and less nutty).

How do I get the pegao (crispy bottom)? After the rice is cooked, increase the heat to medium-low for the last 5 minutes of cooking, without stirring, to allow the bottom to caramelize. Keep a close eye to avoid burning.

Is this dish gluten-free? Yes, as long as your sofrito and broth are gluten-free (check labels). All the other ingredients are naturally gluten-free.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).