Arroz con Gandules: Puerto Rican Rice & Pigeon Peas

Updated November 6, 2026

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

Jump to recipe

Arroz con Gandules: Puerto Rican Rice & Pigeon Peas

Arroz con gandules is the heart of Puerto Rican home cooking: tender long-grain rice simmered with pigeon peas, sofrito, and pork in one pot until every grain is savory and slightly golden. This version uses the classic trio of sofrito, sazón, and annatto oil to build deep flavor, and it comes together in about an hour with no special equipment. The rice comes out fluffy, the gandules stay creamy, and the crispy pegao at the bottom is a bonus if you like it.

Ingredients

  • 3 tbsp (45 ml) olive oil or annatto oil (see Tips)
  • 4 oz (115 g) smoked ham, diced, or 2 oz (55 g) salt pork, chopped
  • 1/2 cup (80 g) finely chopped onion
  • 1/2 cup (75 g) finely chopped green bell pepper
  • 3 cloves garlic, minced
  • 1/4 cup (60 ml) sofrito (store-bought or homemade)
  • 2 tbsp (30 g) tomato sauce or 1 tbsp (15 g) tomato paste
  • 1 tsp (5 g) sazón with annatto (or 1 tsp paprika + 1/4 tsp ground cumin + 1/4 tsp garlic powder)
  • 1 tsp (2 g) dried oregano
  • 1 bay leaf
  • 1 can (15 oz / 425 g) pigeon peas (gandules), drained and rinsed
  • 2 cups (370 g) medium- or long-grain white rice, rinsed and drained
  • 2 cups (475 ml) water or chicken broth
  • 1 tsp (5 g) salt, plus more to taste
  • 1/4 tsp (0.5 g) black pepper
  • 1/4 cup (10 g) chopped fresh cilantro, for garnish (optional)

Instructions

  1. Heat the oil in a large, heavy-bottomed pot (like a caldero or Dutch oven) over medium heat. Add the ham or salt pork and cook, stirring, until browned and crisp, about 4 minutes.
  2. Add the onion, green pepper, and garlic. Cook until soft, about 3 minutes.
  3. Stir in the sofrito, tomato sauce, sazón, oregano, and bay leaf. Cook for 2 minutes, stirring constantly, until fragrant.
  4. Add the pigeon peas and stir to coat. Cook for 1 minute.
  5. Add the rinsed rice, water or broth, salt, and pepper. Stir to combine. Bring to a boil over high heat.
  6. Reduce heat to low, cover tightly, and simmer for 20 minutes. Do not lift the lid during this time.
  7. After 20 minutes, remove the pot from heat. Let it sit, covered, for 5 minutes. Then fluff with a fork. If you want a crispy bottom (pegao), let the rice sit over low heat for an additional 5–10 minutes, then scrape the browned bits from the bottom.
  8. Discard the bay leaf. Garnish with cilantro, if using, and serve hot.

Tips

  • Annatto oil (aceite de achiote) gives the rice its signature orange color. To make it, warm 1/2 cup (120 ml) oil with 2 tbsp (15 g) annatto seeds over low heat for 5 minutes, then strain. Store in the fridge for up to 2 weeks.
  • Don’t skip rinsing the rice—it removes excess starch and keeps the grains separate.
  • If you don’t have pigeon peas, use canned pink beans or kidney beans. The texture will be softer, but the flavor still works.
  • For a vegetarian version, omit the ham, use vegetable broth, and add 1 tbsp (15 ml) more oil. The rice will be lighter in flavor, so add an extra pinch of salt.

Serving Suggestions

Serve arroz con gandules alongside roasted pork (pernil), fried plantains (tostones or maduros), or a simple green salad. It also pairs well with stewed chicken or grilled fish. For a classic Puerto Rican plate, add a slice of avocado and a few crispy pork rinds.

Variations

  • With coconut milk: Replace 1/2 cup (120 ml) of the water with coconut milk for a richer, slightly sweet rice.
  • Spicy: Add 1 chopped jalapeño or 1 tsp (2 g) crushed red pepper with the sofrito.
  • Seafood: Stir in 1 lb (450 g) of peeled shrimp during the last 5 minutes of cooking—they’ll cook through in the steam. (Note: this changes the dish from a side to a main.)
  • Baked version: After step 4, transfer everything to a baking dish, add the liquid, cover with foil, and bake at 350°F (175°C) for 30 minutes, then rest 5 minutes.

Storage and Reheating

Refrigerate leftovers in an airtight container within 2 hours of cooking. It keeps for 3–4 days. To reheat, sprinkle with a little water, cover, and microwave in 1-minute intervals, or warm in a skillet over medium heat with a splash of broth. For longer storage, freeze in a zip-top bag for up to 3 months; thaw overnight in the fridge before reheating.

Frequently Asked Questions

Can I use brown rice? Yes, but increase the liquid to 2 1/2 cups (590 ml) and cook for 40–45 minutes, adding more liquid if needed.

Why is my rice mushy? Usually from too much liquid or stirring too often. Use the exact water amount, keep the lid on, and don’t stir during cooking.

What is sofrito, and can I substitute it? Sofrito is a blend of onions, peppers, garlic, cilantro, and culantro. If you can’t find it, pulse together 1/2 onion, 1/2 green pepper, 2 garlic cloves, and a handful of cilantro in a food processor.

Can I make this in a rice cooker? Yes. Sauté the aromatics and pork in a skillet first, then transfer everything to the rice cooker, add the liquid, and cook on the regular cycle.

Is the pegao (crispy bottom) supposed to be burned? No—it should be golden and crunchy, not black. If it starts to smell scorched, remove from heat immediately.

Can I add more vegetables? Certainly. Diced carrots, peas, or roasted red peppers work well. Add them with the sofrito so they soften.

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).