Girl Meets Fire

menu icon
go to homepage
  • Recipes
  • Traditional Puerto Rican Classics
  • About me
  • Subscribe
    • Email
    • Facebook
    • Instagram
    • Pinterest
  • subscribe
    search icon
    Homepage link
    • Recipes
    • Traditional Puerto Rican Classics
    • About me
    • Subscribe
    • Email
    • Facebook
    • Instagram
    • Pinterest
  • ×
    Home » Recipes » Rice, Pasta, and Grains

    Arroz con Habichuelas (Puerto Rican Rice with Beans)

    Portrait of a smiling woman chef in a home kitchen, used for the “About Me” section of Girl Meets Fire.
    Modified: Feb 14, 2026 · Published: Mar 12, 2026 by Zoe Forestier Villegas · This post may contain affiliate links ·
    ↓ Jump to Recipe

    If you grew up in a Puerto Rican household, you know that arroz con habichuelas isn't just a side dish - it's the backbone of the plate. This is rice and beans cooked together, seasoned with sofrito, garlic paste, achiote oil, and diced ham until every single grain is deeply flavored and golden.

    Overhead view of finished arroz con habichuelas in glass bowl and white bowls with avocado slices, avocado half and peach peonies on side.

    Arroz con Habichuelas is one of the most iconic sides in Puerto Rico and is served regularly in households throughout the island to accompany main dishes like Chuletas Fritas, Carne Guisada, or Pollo Asado. It is flavorful and aromatic, and it could be enjoyed on its own.

    If you love Puerto Rican side dishes, don't miss my Arroz con Gandules, which comes out at Christmas. Arroz Mamposteao, a classic Puerto Rican leftover rice dish that's arguably similar to this recipe but composed differently. Guineitos en Escabeche is a tangy salad that can be served cold or warm.

    Jump To
    • Why you'll love this recipe
    • Ingredient Notes
    • What gives Arroz con Habichuelas it's beautiful color?
    • Variations and Substitutions
    • Top Tip
    • How to make arroz con habichuelas
    • Expert Tips
    • Recipe FAQs
    • Before You Go . . .
    • More Rice, Grains, and Pasta Recipes
    • 📖 Recipe
    • Comments

    Why you'll love this recipe

    • One pan, real flavor: the rice cooks directly in the seasoned bean broth, so every grain absorbs the sofrito, achiote, and ham from the inside out.
    • Weeknight-friendly: Thirty-five minutes start to finish, most of which is hands-off simmer time.
    • Works with canned or homemade beans: Use a can of pink beans (habichuelas rosadas) on a Tuesday, or pull from a batch of your own cooked beans when you have time. Both work beautifully.
    • It's the rice that goes with everything: Roasted chicken, carne frita, pork chops, or a fried egg. Arroz con habichuelas makes any plate feel complete.

    Ingredient Notes

    Overhead view of ingredients for arroz con habichuelas including white rice, pink beans, diced ham, onions, sofrito, garlic paste, adobo seasoning, and achiote oil in separate bowls.
    • Rice: The rice of choice in Puerto Rico is medium-grain. I prefer Jazmine rice, because I enjoy the floral aroma and flavor it brings to any dish. Feel free to use whichever grain you prefer.
    • Pink beans (habichuelas rosadas): The traditional choice for this dish. If you're using canned, drain and rinse them. If you're cooking from dry, make sure they're fully tender before adding them to the pot. The rice cook time is not long enough to finish raw or undercooked beans.
    • Diced ham: Ham adds a smoky, salty depth that seasons the whole dish as it renders. You could use pre-diced ham for convenience, but any fully cooked ham works. Cut it into small pieces so you get a little bit in every spoonful.
    • Sofrito: This is the soul of Puerto Rican cooking. I use my own homemade sofrito, but a good -quality jarred sofrito works. Don't skip it, it's what separates arroz con habichuelas from plain yellow rice with beans.

    See my recipe card below for a complete list of the ingredients with measurements.

    What gives Arroz con Habichuelas it's beautiful color?

    Every country has its choice of spice used for coloring. Spain, Italy, and France use saffron (not that other countries don't use saffron, but these three lead the way). India and Asian countries use Turmeric and Curry blends. But in Puerto Rico, we love Achiote. Tiny hard seeds, the Taino used for coloring their food, bodies, and pottery. We still use it today in the form of Achiote Oil. Achiote oil is used regularly in Puerto Rican kitchens. Check out my post on how to make this colorful oil and its uses.

    Variations and Substitutions

    • Make it vegetarian/vegan: Leave out the ham and use vegetable broth. The sofrito and achiote oil still carry enormous flavor.
    • Swap the beans: White beans, pinto, or kidney beans also work for this recipe.
    • Use summer sausage or chorizo: These will add a smoky flavor to the dish. However, I recommend making sure the sausages get nice and crispy before adding the vegetables and sofrito.
    • No premade sofrito? Sofrito is basically a mix of finely mixed onion, green bell pepper, garlic, and fresh culantro (cilantro if culantro-recao is not available). Add these vegetables at the same time as onions to the recipe, and omit the sofrito in the steps.

    Top Tip

    The ratio is everything: 1 cup rice, 1 cup beans, and 1 cup liquid. Too much liquid and you get emplegostao, a sticky, wet, gummy rice. Not enough, and the bottom scorches before the top cooks through. Stick to the ratio, don't lift the lid during the steam, and you'll get loose, separate, perfectly cooked grains every time.

    How to make arroz con habichuelas

    Before you start, rinse your rice under cold water until the water runs clear, then set at aside. Measure out your broth and have all your ingredients prepped. This recipe moves quickly once the ham hits the pan.

    Overhead view of diced ham browning in stainless steel skillet with oil, labeled with step 1.
    1. Brown the ham: Heat a drizzle of oil in a wide, heavy-bottomed pan over medium heat. Add the diced ham and cook, stirring occasionally, until it picks up some color and the fat begins to render, about 3-4 minutes. The fond (the brown bits sticking to the pan) is flavor, don't discard it.
    Overhead view of diced onions being sautéed with browned ham pieces in a stainless steel skillet, labeled with step 2.
    1. Add the onions: Add the diced onion to the pan with the ham and saute together until the onions are translucent and soft, about 4-5 minutes. They'll absorb all the rendered ham fat and start to smell incredible.
    Overhead view of pink beans being added to sautéed onions and diced ham in a stainless steel pot, with a wooden spoon, labeled "step 3".
    1. Add the beans: Drain the beans and add them directly to the pan, stirring them into the ham and onion mixture. Let them sit in the pan for a minute or two so they can absorb the fond on the bottom.
    Overhead view of pink beans, ham, and onions seasoned with sofrito and garlic paste in a stainless steel skillet, labeled with step 4,
    1. Season the beans: Add the sofrito, garlic paste, and adobo. Stir everything together and cook for 2-3 minutes so the sofrito has a chance to bloom in the hot pan and cook off its raw edge.
    Overhead view of white rice and orange achiote oil added to bean mixture in stainless steel pot, labeled with step 5.
    1. Add the rice and achiote oil: Add the rinsed rice and the achiote oil to the pan. Stir and toss to coat the rice grains in the oil and distribute everything evenly. You'll see the rice start to take on that golden color immediately.
    Glass measuring cup filled with amber-colored broth for cooking rice with beans on wooden cutting board, labeled with step 6.
    1. Measure your broth: Use a 1:1:1 ratio of rice to beans to liquid; for every cup of rice, you'll need 1 cup of liquid. Have it measured and ready before the rice goes in so you're not scrambling.
    Pot of rice with beans and broth, along with all the other ingredients.
    1. Add the broth and bring to a boil: Pour in the broth. Stir once to combine, then bring to a boil over medium-high heat. Let it boil uncovered for about 5 minutes. Do not stir. You're waiting for most of the liquid to absorb down to the level of the rice.
    Overhead view of rice and beans mixture cooking in stainless steel skillet with excess moisture drying before covering, labeled with step 8.
    1. Reduce the heat and cover: Once the liquid has reduced to just below the surface of the rice, reduce the heat to the lowest setting, cover tightly, and let it steam for 15 minutes. Do not lift the lid during this time; the steam is doing the work.
    Overhead view of fully cooked arroz con habichuelas with fluffy separated rice grains and beans in a stainless steel pot, labeled with step 9.
    1. Check for doneness: After 15 minutes, remove the lid. The rice should be fully cooked, with no visible liquid remaining. If there's still liquid, cover and cook for another 3-5 minutes. The rice at the bottom may form a slight crust, that's the pegao, and in Puerto Rico, it's a prize.
    Overhead view of fully cooked arroz con habichuelas with fluffy separated rice grains and beans in a stainless steel pot, labeled with step 10.
    1. Fluff and serve: Use a fork (never a spoon) to gently fluff the rice from the bottom up. This separates the grains without mashing them. Serve immediately, garnished with sliced avocado if you like.
    Overhead view of finished arroz con habichuelas in glass bowl and white bowls with avocado slices, avocado half and peach peonies on side.

    Expert Tips

    • Pan choice matters: The traditional pot of choice for rice in Puerto Rico is el caldero. I don't have a caldero, so I use my Tramontina sauce pot or a Lodge Dutch Oven when I want to make larger quantities.
    • Don't skip browning the ham first: That initial sear creates fond on the bottom of the pan that seasons everything that follows. If you add all the ingredients at once, it creates steam, and the ham and vegetables will not develop fond and caramelization, which deepens the flavors.
    • Use broth whenever possible: Water always works, but broth is noticeably better. Chicken broth is the most neutral and complementary, but vegetable broth is excellent for a vegetarian version.
    • Storage:
      • Store leftover arroz con habichuelas in an airtight container in the refrigerator for up to 4 days. Reheat in a covered pan with a splash of broth or water to restore moisture. To reheat in the microwave, transfer to a microwave-safe bowl, add a splash of water or broth, cover with a damp paper towel, and heat in 1-minute intervals, stirring between each, until warmed through.
      • Arroz con habichuelas freezes well for up to 2 months. Freeze in individual portions for easy weeknight meals. Thaw overnight in the refrigerator, then reheat, covered with a little liquid added, on the stovetop or in the microwave as above.

    Recipe FAQs

    What is the difference between arroz con habichuelas and arroz con gandules?

    Both are Puerto Rican rice dishes cooked in one pot, but they use different legumes. Arroz con habichuelas uses pink or red beans (habichuelas), while arroz con gandules uses pigeon peas (gandules). Arroz con gandules is traditionally the rice of the holidays, Christmas and Three Kings Day, while arroz con habichuelas is the everyday table staple.

    Why is my rice sticky and wet?

    Sticky rice usually comes down to too much liquid, stirring during cooking, or lifting the lid before the steam has finished. Stick to the 1:1:1 ratio, resist the urge to stir once the lid is on, and let the rice steam undisturbed for the full 15 minutes.

    Can I use canned beans?

    Yes, and that's what I use most of the time. Drain and rinse a 15-ounce can of pink or red beans. One can of beans is roughly 1.5 cups, perfect for 1-2 cups of rice. If you're using homemade cooked beans, use 1 to 1.5 cups, depending on how much you have.

    What do I do if my rice isn't fully cooked after 15 minutes?

    If the rice isn't cooked after 15 minutes, fluff gently with a fork to check, then add a quarter cup of water or broth, cover, and cook on low for another 5-10 minutes.

    Before You Go . . .

    Cooked it and loved it? Rate it. Review it. Share it. Your feedback helps others and keeps this blog cooking.

    Subscribe for more sabor every week

    More Rice, Grains, and Pasta Recipes

    • Cooked gandules (pigeon peas) with split skins draining in wire mesh strainer over a stainless steel pot.
      Gandules (Pigeon Peas)
    • Close-up overhead view of stuffed pasta shells filled with a ricotta and spinach mixture, arranged in a rich red meat sauce in a large skillet.
      Stuffed Pasta Shells with Meat Sauce
    • Arroz con gandules covered with banana leaves, served alongside carne frita on a holiday table.
      Arroz Con Gandules Recipe (Puerto Rican Rice and Pigeon Peas)
    • Close-up of a forkful of arroz mamposteao, Puerto Rican rice and beans, held above a bowl on a blue patterned cloth.
      Mamposteao, a Puerto Rican Leftover Rice Comfort Food
    See more Rice, Pasta, and Grains →

    📖 Recipe

    Close-up of arroz con habichuelas in a ceramic bowl with serving spoon, avocado half, and individual serving with avocado slices visible.

    Arroz con Habichuelas, Puerto Rican Rice with Beans

    Zoé Forestier
    Golden, deeply flavored, and impossible to put down. This is the Puerto Rican Arroz con Habichuelas you'll make on repeat.
    5 from 1 vote
    Print Recipe Pin Recipe
    Prep Time 15 minutes mins
    Cook Time 20 minutes mins
    Total Time 35 minutes mins
    Course Side Dish
    Cuisine Puerto Rican
    Servings 6 servings
    Calories 190 kcal

    Equipment

    • 1 Dutch oven A saucepot or Caldero would work too.

    Ingredients
      

    • ½ oz ham diced
    • 1 tablespoon olive oil
    • 1 small onion peeled and diced
    • 2 tablespoon sofrito
    • 1 tablespoon garlic paste
    • 1 cup rehydrated beans
    • 2 teaspoon adobo seasoning sazon packet also works
    • 1 cup rice washed and drained
    • 2 tablespoon achiote oil
    • 1 cup broth any flavor broth or water
    Prevent your screen from going dark

    Instructions
     

    • Before you start, rinse your rice under cold water until the water runs clear, then set it aside. Measure out your broth and have all your ingredients prepped. This recipe moves quickly once the ham hits the pan.
    • Brown the ham. Heat a drizzle of oil in a wide, heavy-bottomed pan over medium heat. Add the diced ham and cook, stirring occasionally, until it picks up some color and the fat begins to render, about 3-4 minutes. The fond (the brown bits sticking to the pan) is flavor, don't discard it.
      ½ oz ham, 1 tablespoon olive oil
    • Add the onions. Add the diced onion to the pan with the ham and saute together until the onions are translucent and soft, about 4-5 minutes. They'll absorb all the rendered ham fat and start to smell incredible.
      1 small onion
    • Add the beans. Add the beans directly to the pan and stir them into the ham and onion mixture. Let them sit in the pan for a minute or two so they can absorb the fond on the bottom.
      1 cup rehydrated beans
    • Season the beans. Add the sofrito, garlic paste, and adobo. Stir everything together and cook for 2-3 minutes so the sofrito has a chance to bloom in the hot pan and cook off its raw edge.
      2 tablespoon sofrito, 1 tablespoon garlic paste, 2 teaspoon adobo seasoning
    • Add the rice and achiote oil. Add the rinsed rice and the achiote oil to the pan. Stir and toss to coat the rice grains in the oil and distribute everything evenly. You'll see the rice start to take on that golden color immediately.
      1 cup rice, 2 tablespoon achiote oil
    • Measure the broth. Use a 1:1:1 ratio of rice to beans to liquid. The rule is for every cup of rice, use a cup of liquid. Have it measured and ready before the rice goes in so you're not scrambling.
      1 cup broth
    • Add the broth and bring to a boil. Pour in the broth. Stir once to combine, then bring to a boil over medium-high heat. Let it boil uncovered for about 5 minutes. Do not stir. You're waiting for most of the liquid to absorb down to the level of the rice.
    • Reduce the heat and cover. Once it has reduced to just below the surface of the rice, reduce the heat to the lowest setting, cover tightly, and let it steam for 15 minutes. Do not lift the lid during this time; the steam is doing the work.
    • Check for doneness. After 15 minutes, remove the lid. The rice should be fully cooked, with no visible liquid remaining. If there's still liquid, cover and cook for another 3-5 minutes at low heat. The rice at the bottom may form a slight crust, called pegao, and in Puerto Rico, it's the craze.
    • Fluff and serve. Use a fork (never a spoon) to gently fluff the rice from the bottom up. This separates the grains without mashing them. Serve immediately, garnished with sliced avocado if you like.
    QR Code

    Notes

    • The ratio is everything: 1 cup rice, 1 cup beans, and 1 cup liquid. Too much liquid and you end up with sticky, wet, gummy rice. Not enough, and the bottom scorches before the top cooks through. Stick to the ratio, don't lift the lid during the steam, and you'll get loose, separate, perfectly cooked grains every time.
    • Pan choice matters: The traditional pot of choice for rice in Puerto Rico is el caldero. I don't have a caldero, and I like to use my Tramontina sauce pot or a Lodge Dutch Oven when I want to make larger quantities.
    • Don't skip browning the ham first: That initial sear creates fond on the bottom of the pan that seasons everything that follows. If you add all the ingredients at once, it creates steam, and the ham and vegetables will not develop fond and caramelization, which deepens the flavors.
    • Use broth whenever possible: Water always works, but broth is noticeably better. It would be the same as using a bouillon cube. Chicken broth is the most neutral and complementary, but vegetable broth is excellent for a vegetarian version.
    • Storage:
      • Store leftover arroz con habichuelas in an airtight container in the refrigerator for up to 4 days. Reheat in a covered pan with a splash of broth or water to restore moisture.
      • Freezing: Arroz con habichuelas freezes well for up to 2 months. Freeze in individual portions for easy weeknight meals. Thaw overnight in the refrigerator, then reheat, covered, with a little liquid added. 

    Nutrition

    Serving: 4ozCalories: 190kcalCarbohydrates: 35gProtein: 6gFat: 3gSaturated Fat: 0.5gPolyunsaturated Fat: 0.4gMonounsaturated Fat: 2gCholesterol: 1mgSodium: 189mgPotassium: 205mgFiber: 3gSugar: 1gVitamin A: 84IUVitamin C: 2mgCalcium: 30mgIron: 1mg
    Did you try this recipe?Please consider Leaving a Review, and if you loved it, give it a ⭐⭐⭐⭐⭐ rating too! It helps others find the recipe and tells Google it's worth a try. 😊

    More Puerto Rican and Global Inspirations

    • Overhead view of Puerto Rican Crab Rice (Arroz con Jueyes) in a red Dutch oven, showing rice simmered with crab meat, olives, red peppers, and sofrito. A wooden slotted spatula rests beside the pot on a terrazzo countertop.
      Puerto Rican Crab Rice, Arroz con Jueyes
    • Close-up of Puerto Rican chicken paella with bone-in chicken thighs, longaniza sausage, pigeon peas, and sliced plantains, garnished with fresh cilantro in a large paella pan.
      Puerto Rican Chicken Paella with Sausage and Plantain
    • Close-up of Seafood Pomodoro pasta with linguine, topped with culantro gremolata and shredded Parmesan in a white bowl.
      Seafood Pomodoro Pasta with Linguine
    • A hand holding a white bowl of funche topped with a dab of butter.
      Funche, Puerto Rican Grits
    5 from 1 vote (1 rating without comment)
    Woman holding a wooden spoon and smiling in a kitchen with hanging utensils and a vase of flowers on the counter.

    Hola! I'm Zoe. I love all things food and enjoy cooking. I created this site to reconnect with my Puerto Rican heritage while living in the United States. This is a great place to reconnect if you are floating in the diaspora. I would love to hear from you!

    About Zoe →

    Puerto Rican Christmas

    • Hand holding a peanut butter chocolate chip blondie broken in half to reveal a dense, chewy interior with visible chocolate chips, pecans, and peanut butter pieces, with a full tray of cut blondies on parchment paper in the background.
      Peanut Butter Blondies
    • Three stacked panetela de guayaba bars on a gray plate showing the guava paste layer, with a blue linen and striped wood cutting board in the background.
      Puerto Rican Guava Cakes (Panetela de Guayaba)
    • Overhead view of Puerto Rican arroz con habichuelas (rice and beans) in glass bowl and two white bowls with avocado slices and peach peonies.
      Arroz con Habichuelas (Puerto Rican Rice with Beans)
    • Collage of traditional Puerto Rican Christmas dishes including pernil, arroz con gandules, coquito, tembleque, arroz con dulce, and guineitos en escabeche, with a banner that reads “15 Essential Puerto Rican Christmas Recipes.”
      15 Puerto Rican Christmas Essentials (And a Few Delicious Extras)
    • Two glasses of cookies-and-cream coquito with crushed-cookie rims, surrounded by Oreo cookies and coquito ingredients, blurred in the background.
      Bacardi Gold Cookies and Cream Coquito
    • Top view of a molded pistachio tembleque garnished with shredded coconut and chopped pistachios on a white plate.
      Pistachio Tembleque
    See more Christmas Recipes →

    Popular Recipes

    • A plate of polvorones cookies with three semi-stacked cookies on top of the table resting in front of the plate.
      Puerto Rican Polvorones (Shortbread Cookies)
    • A blue and white dessert plate with a slice of bread pudding and caramel sauce on top of it.
      Budín de Pan (Puerto Rican Bread Pudding)
    • Close-up of a roasted chicken thigh served with guineos en escabeche, cherry tomatoes, and a side of macaroni salad partially visible.
      Puerto Rican Pollo Asado, Oven-Roasted Chicken
    • Close-up of shrimp and scallop stew over white rice, black beans, and fried sweet plantain, with a side of avocado and extra stew in the background.
      Quick Shrimp and Scallop Stew
    • A fork full of Pernil with a large serving bowl, avocados, dinner rolls, and small serving bowls with meat on the background.
      Instant Pot Puerto Rican Pernil (Pork Roast)
    • A hand holding a white bowl of funche topped with a dab of butter.
      Funche, Puerto Rican Grits

    I’d love to hear from you! Did you try this recipe? Leave a review and rating below. Let’s connect on Instagram, and don’t forget to join my weekly email list for fresh new recipes.

    Footer

    Get new Puerto Rican recipes in your inbox every week!

    Subscribe
    ↑ back to top

    Explore

    • About Me
    • Firestarter Planner
    • Subscribe and eBook
    • Media Kit
    • Portfolio

    About

    • Contact
    • Cookie Policy
    • Privacy Policy
    • Terms of service
    • Accessibility Statement

    Copyright © 2025 Girl Meets Fire LLC • Powered by Feast+ • This website contains affiliate links, which means that if you click on a product link, we may receive a commission in return. Girl Meets Fire LLC participates in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.com.

    .

    Rate This Recipe

    Your vote:




    A rating is required
    A name is required
    An email is required

    Recipe Ratings without Comment

    Something went wrong. Please try again.