Arroz con Gandules

This recipe for Rice with Pigeon Peas, one of Puerto Rico's most beloved dishes, comes from Wilo Benet, chef of Pikayo in San Juan.

Arroz con Gandules is one of Puerto Rico’s iconic rice dishes. Whether served simply with pollo, or stuffed inside a lechon, or roasted pig, soaking in bubbling pig fat, this rich, rice recipe is one that every household in Puerto Rico has a variation on. This recipe, courtesy of Wilo Benet, chef of Pikayo Restaurant in San Juan, Puerto Rico, is our Arroz con Gandules standard.  – Editor’s Note

Click here to purchase your own copy of Chef Wilo Benet’s cookbook: Puerto Rico True Flavors published by Read Street Publishing Inc.


  • 3 tablespoons achiote oil
  • 6 ounces cooking ham, diced
  • 1 cubanelle pepper, seeds and inner white ribbing removed, diced
  • 4 cloves garlic, pounded to a paste
  • 3 tablespoons sofrito
  • 3 tablespoons tomato sauce
  • 3 tablespoons chopped culantro
  • 1/4 cup green olives stuffed with pimientos
  • 1 tablespoon capers
  • 2 (15 ounce) cans of gandules (pigeon peas), drained
  • 4 cups medium-grain rice
  • 5 cups chicken stock
  • 2 tablespoons Kosher salt
  • 2 tablespoons olive oil (not extra-virgin)
  • 2 large plantain leaves

Serves 4


  1. In a caldero or a heavy-bottomed pot over high heat, warm the achiote oil. Add the ham, onion, pepper, garlic and sofrito, and cook for about 3 minutes until the onion is translucent and loses its raw taste. Stir in the tomato sauce, culantro, olives and capers, and cook for another 2 minutes. Stir in the drained pigeon peas.
  2. Add the rice and pour in the chicken stock. Season with the salt, drizzle with the olive oil, and stir. Bring to a full boil, and cook until the water evaporates and the surface of the rice is visible with some bubbling in between the grains, about 10 minutes.
  3. Lower the heat, and place the plantain leaves over the rice (the leaves provide a wonderful addition of flavor while they aid in containing the steam needed for cooking the rice). Cover with a tight-fitting lid, and lower the heat. Cook for about 28 minutes until the all the liquid has been absorbed and the rice grains are loose and fully cooked.