A rustic bowl of classic rice and beans garnished with fresh cilantro and lime wedges on a wooden table

Rice and Beans Recipe That Actually Fills You Up

Quick Answer

To make rice and beans, sauté onion, garlic, and bell pepper in oil, add canned or cooked beans with broth and spices, then simmer with long-grain white rice until fluffy and absorbed. The whole process takes about 45 minutes from start to table.

I had a neighbor named Desmond my first year living on my own who cooked rice and beans on Sunday and ate from them all week. Not as a side dish — as dinner, lunch, and occasionally breakfast with a fried egg on top. I thought this sounded like a strategy born of necessity rather than preference until he had me over one evening and I ate two servings of something that had no business being as good as it was.

His version started with sofrito in the pot — onion, bell pepper, garlic, and tomato cooked down in oil until it was fragrant and almost jammy. Then the beans went in with broth and sazón and a bay leaf and cooked until the liquid reduced and thickened into something that was half sauce, half soup, and entirely deliberate. The rice was seasoned separately and cooked with garlic and broth rather than water. When they came together on the plate they tasted like a complete meal rather than two components that had arrived at the same plate independently.

The sofrito is the difference between rice and beans that taste like a meal and rice and beans that taste like an afterthought. Most versions skip it or abbreviate it. Don't. Let the aromatics cook down properly until they've lost their raw edge and built a base of flavor that the beans will absorb as they simmer.

I made it regularly that year and for several years after. I still make it now. Desmond moved away eventually but the recipe has not, which is what a good meal is for.

Prep10 minutes
Cook35 minutes
Total45 minutes
Serves4 servings
DifficultyEasy

Ingredients

  • 2 tablespoons olive oil
  • 1 medium yellow onion, diced
  • 1 medium green bell pepper, diced
  • 4 cloves garlic, minced
  • 1 teaspoon ground cumin
  • 1 teaspoon smoked paprika
  • 1/2 teaspoon dried oregano
  • 1/4 teaspoon cayenne pepper (optional)
  • 2 (15-ounce) cans black beans or red kidney beans, drained and rinsed
  • 1 1/2 cups long-grain white rice, rinsed
  • 2 1/4 cups low-sodium chicken broth or vegetable broth
  • 1 cup water
  • 1 teaspoon salt, plus more to taste
  • 1/2 teaspoon black pepper
  • 1 bay leaf
  • 2 tablespoons tomato paste
  • 1 teaspoon apple cider vinegar
  • Fresh cilantro or parsley, for serving (optional)
  • Lime wedges, for serving (optional)

Instructions

  1. 1Heat olive oil in a large, heavy-bottomed pot or Dutch oven over medium heat. Add the diced onion and bell pepper and cook, stirring occasionally, for 5 to 6 minutes until softened and the onion is translucent.
  2. 2Add the minced garlic, cumin, smoked paprika, oregano, and cayenne (if using). Stir constantly for 60 seconds until fragrant. The garlic should smell toasty, not raw.
  3. 3Stir in the tomato paste and cook for another 2 minutes, stirring to coat the vegetables. This step deepens the flavor and gives the dish its color.
  4. 4Add the drained beans and stir to combine with the sofrito base. Pour in the broth and water. Add the salt, black pepper, and bay leaf. Stir everything together.
  5. 5Bring the mixture to a boil over medium-high heat. Add the rinsed rice, stir once to distribute, then reduce heat to low. Cover with a tight-fitting lid.
  6. 6Cook on low heat for 18 to 20 minutes without lifting the lid. The rice is done when it has absorbed all the liquid. If you hear it sizzling aggressively at the bottom, it's done —? pull it off the heat immediately.
  7. 7Remove from heat and let the pot sit, still covered, for 5 minutes. This allows the steam to finish cooking the rice evenly.
  8. 8Remove the bay leaf. Stir in the apple cider vinegar. Taste and adjust salt. Serve with fresh cilantro and lime wedges if desired.

Pro Tips

  • Rinse the rice before adding it. Skipping this step leaves extra starch in the pot and you'll end up with something that qualifies more as porridge than rice and beans.
  • The vinegar at the end is not optional in my household. A small splash of acid after cooking wakes up every other flavor in the pot —? it's the difference between 'that was fine' and 'can I have more.'
  • If your heat runs hot and the rice sticks before it's cooked through, add two tablespoons of water to the pot, re-cover, and let it steam on low for another three minutes. That pot is not apologizing. Don't argue with it. Just add water.

Substitutions

black beans → red kidney beans, pinto beans, or navy beans All work well here. Red kidney beans give you something closer to classic red beans and rice. Pintos are softer and earthier. Use whatever you have.
chicken broth → vegetable broth A straight swap for a fully vegetarian version. Use a good-quality broth because it's doing most of the flavor work.
long-grain white rice → basmati rice Works beautifully and cooks in the same timeframe. Do not substitute brown rice without adjusting the liquid and cook time significantly —? brown rice needs about 40 minutes and an extra half cup of liquid.
fresh garlic → 1 teaspoon garlic powder Only in an emergency. Add it with the other dried spices. Fresh garlic is doing something here that powder cannot fully replicate, but the dish will survive.
apple cider vinegar → fresh lime juice Squeeze half a lime into the pot at the end instead. Same acidic brightness, slightly fruitier.

Storage Instructions

Let leftovers cool completely before storing. Transfer to an airtight container and refrigerate for up to 4 days. To reheat, add 2 tablespoons of water per serving, cover, and microwave on medium power for 2 minutes, stirring once halfway through. Reheat on the stovetop over low heat with a splash of broth or water, stirring frequently. This dish also freezes well —? portion into freezer-safe containers and freeze for up to 3 months. Thaw overnight in the refrigerator before reheating.

Make Ahead

The sofrito base (onion, bell pepper, garlic, and spices with tomato paste) can be made up to 3 days ahead and stored in the refrigerator. When ready to cook, reheat the base in the pot over medium heat, add the beans and liquid, and proceed from step 4. The finished dish also holds very well and tastes better the next day once the flavors settle in.

Frequently Asked Questions

Do the rice and beans cook together in the same pot?

Yes, and that's what makes this recipe work. The rice absorbs the seasoned broth directly, which means every grain picks up the flavor from the sofrito and spices. If you cook the rice separately in plain water, you lose that. The whole point is one pot, one flavor.

Can I use dried beans instead of canned?

Absolutely, and it is worth the extra effort. Soak 1 cup of dried beans overnight, then boil them in fresh water for 45 to 60 minutes until just tender before adding them to the recipe. Do not use the soaking water. Dried beans have a better texture and absorb seasoning more deeply than canned.

Why did my rice turn out mushy?

The most common cause is too much liquid or heat that ran too high and caused uneven absorption. Measure the broth and water carefully —? this recipe uses a slightly lower liquid-to-rice ratio than standard to account for the moisture in the beans. Also, don't lift the lid while the rice cooks. Every time you do, you release steam and throw off the whole process.

Can I make this ahead of time for a crowd?

Yes. This recipe doubles cleanly —? use a large Dutch oven or stock pot. Make it up to a day ahead and refrigerate. When reheating a large batch, add a quarter cup of water or broth to the pot, cover, and warm over low heat, stirring every few minutes. It reheats more evenly on the stovetop than in the microwave when you're doing a big batch.

How do I store leftover rice and beans?

Cool completely first, then refrigerate in an airtight container for up to 4 days. For longer storage, freeze in individual portions for up to 3 months. The texture holds up well after freezing as long as you thaw it overnight in the fridge and reheat gently with a splash of water or broth to loosen it up.

Is this recipe vegan or vegetarian?

It is vegetarian as written if you use vegetable broth. To make it fully vegan, confirm your broth is vegan —? most store-bought vegetable broths are, but check the label. The rest of the ingredients are plant-based. This is a naturally protein-rich vegan meal because beans and rice together form a complete protein.

What can I serve with rice and beans to make it a complete meal?

On its own, this is already a satisfying main dish. For something more substantial, serve it alongside sautéed or roasted vegetables, fried plantains, a simple green salad, or grilled chicken. A fried egg on top with some hot sauce is an excellent weeknight move that requires almost no additional effort and makes the whole bowl feel intentional.

Can I add meat to this recipe?

Yes. Brown 4 to 6 ounces of diced smoked sausage or chorizo in the pot before adding the onion and bell pepper, and let it render its fat into the base. You can also stir in shredded rotisserie chicken in the last 5 minutes of cooking. If you add sausage, reduce the olive oil to 1 tablespoon since the sausage will release its own fat.