Go Back Email Link
+ servings
A white, blue-rimmed bowl filled with Arroz con Gandules, garnished with sprigs of fresh cilantroa silver spoon in background has grains of rice on it.

Arroz con Gandules (Puerto Rican Rice with Pigeon Peas

The flavorful Puerto Rican classic will be the centerpiece of your holiday meals.
Course Accompaniments
Cuisine Puerto Rican, Puerto Rican/Hispanic
Keyword arroz con gandules, pigeon peas, rice
Prep Time 10 minutes
Cook Time 45 minutes
Total Time 55 minutes
Servings 12
Calories 348kcal


  • 5qt caldero or dutch oven


Spice Blend

  • 1 tablespoon (15 grams) Adobo (or 1-2 teaspoons for low sodium option)
  • 2 1/2 teaspoons (10 grams or 2 packets) Sazón con achiote
  • 2 teaspoons (6 grams) onion powder
  • 2 teaspoons (6 grams) granulated garlic
  • 1 teaspoon dried oregano leaves
  • 3/4 teaspoon (3 grams) black pepper

For the Arroz con Gandules

  • 1 cup (2 small or 200-300 grams) pork chops* cut into small chunks
  • 1/4 cup (60 milliliters) extra virgin olive oil or achiote oil (see post)
  • 3 cups (655 grams) long grain rice rinsed 3-4 times in cold water
  • 1/2 cup (130 grams) sofrito
  • 1/2 cup (120 milliliters or 4 ounces) tomato sauce
  • 6 manzanilla olives pitted
  • 1 teaspoon capers
  • 1 teaspoon (8 grams) chicken bouillon base (or vegetable base), optional
  • 2 cups water plus liquid strained from gandules
  • 15.5 ounce can (439 grams) gandules (pigeon peas) (strain liquid from can into the water for boiling)
  • kosher salt or adobo to taste


Make the spice blend and season the meat (Can be done a day ahead)

  • In a small bowl, combine the adobo, sazón, onion powder, granulated garlic, oregano, and black pepper. Stir together to combine well.
  • In a mixing bowl, sprinkle 1 heaping teaspoon of the spice blend onto the chunks of pork. Toss to coat the meat in the spice blend and allow the seasoning to penetrate the meat for 30 minutes to 24 hours.
    Reserve the remaining spice blend for seasoning the rice.

Prepare the Arroz con Gandules

  • Heat the olive oil over medium-high heat in a 5-quart caldero (or heavy bottom dutch oven).
    When the oil begins to shimmer, add the seasoned pork chunks to the pot. Quickly brown the pork stirring frequently with a large spoon. Cook the pork for 3-4 minutes, or just until it begins to brown.
  • Stir the rinsed rice into the pot with the meat and sauté the grains of rice in the fat rendered from the pork and the olive oil.
    Toss the rice frequently as it toasts, and sauté for 2-3 minutes over medium-high heat, or until the grains of rice look glossy.
  • Add the sofrito to the pot. 
    Sauté the sofrito for 2 minutes making sure to scrape the bottom of the caldero to keep the rice from sticking too much.
    (If you're using frozen sofrito, don't worry if it's not thawed completely at the end of this cooking time, it will continue to thaw as the rice cooks).
  • If the rice is beginning to stick or burn on the bottom of the pan, lower the heat to medium.
    Add the tomato sauce, the remaining spice blend, the water and reserved liquid from the gandules to the pot.
    Stir to make sure the rice and liquids are combined well. 
  • Lastly, add the olives, capers, chicken base, and the drained gandules. Stir everything well to incorporate it into the rice mixture.
    Finally, bring the water in the pot up to a boil. 

Boil, then Steam the Rice

  • Allow the water boil until the surface of the rice peeks through: this can take anywhere from 8-10 minutes over medium to medium-high heat.
    Once the water has evaporated, and the top layer of rice peeks through the bubbling liquid, fold the rice from the outside of the pot to the center- all around the pot.
  • Spread the rice back into an even layer in the pot and reduce the cooking heat to low.
    Lay a square piece of aluminum foil, wide enough to overlap the sides- over the pot. Press the lid of the pot firmly onto the foil, sandwiching it between the pot and the lid, to create a tight seal which steams the rice more effectively.
  • Steam the rice for 20 minutes over low heat. Don't lift the lid until the 20 minutes of cooking time is finished.
    After 20 minutes, fold the rice from the outside to the inside of the pot once again. Give it a little taste. The rice should be soft and tender.
  • If the rice is still hard after 20 minutes of steaming, pour in 1/4 cup of water and seal it again with the lid and foil. Steam for an additional 10 minutes over low heat.
    If, on the other hand, the rice is mushy and clumps together, continue to cook it, uncovered, for another 10 minutes to dry it out a bit. 
  • Once the rice is cooked, replace the lid, turn off the burner, and leave the pot to sit on the warm burner until ready to serve it. 
    When you're ready to serve, scoop the rice and dish it out. Serve as an entree with a side salad or as a side dish.


The crunchy bits on the bottom of the caldero are called pegao. This crispy rice is flavorful and highly coveted amongst many Puerto Ricans. 
To store leftovers: transfer the arroz con gandules to a food storage container and keep it in the fridge for 3 days. 
To freeze Arroz con Gandules: transfer the cooled arroz con gandules to a freezer-safe storage bag and freeze, lying flat, for 6 months or less. 
To thaw the rice, just pop it into the fridge overnight. Reheat it in the microwave after sprinkling a little water over the rice. 
Try these swaps:

Make it vegetarian:

  • omit the seasoned pork AND
  • replace the chicken bouillon with vegetable base

Swap the meat:

  • use seasoned, skin-on, chicken thighs instead of pork
  • use seasoned chunks of beef chuck
  • cut Vienna sausage or canned ham into chunks (don't season these as they are already salty)

Switch up the simmering liquid:

  • use coconut water instead of water
  • simmer in half water-half beer
  • simmer in pork or beef stock instead of chicken stock


Calories: 348kcal | Carbohydrates: 58g | Protein: 11g | Fat: 7g | Saturated Fat: 1g | Polyunsaturated Fat: 1g | Monounsaturated Fat: 5g | Trans Fat: 1g | Cholesterol: 13mg | Sodium: 150mg | Potassium: 322mg | Fiber: 4g | Sugar: 1g | Vitamin A: 15IU | Vitamin C: 1mg | Calcium: 45mg | Iron: 1mg