Side Dishes
This Puerto Rican-style goya beans recipe delivers the perfect balance of crunchy and creamy texture that makes it a staple at Caribbean tables. After testing countless versions, I've perfected a method that transforms these unique beans into a dish with rich, savory depth and satisfying bite.
The secret lies in proper preparation and a blend of traditional spices that elevate simple ingredients into something extraordinary.
Goya beans—those small, crunchy legumes with a nutty flavor—require soaking and slow cooking to develop their signature texture. This recipe combines them with garlic, onions, peppers, and tomatoes in a way that highlights their natural qualities while building layers of flavor.
The process is straightforward but demands patience, ensuring you achieve that ideal contrast between tender beans and crispy edges.
What you'll end up with is a side dish that's hearty enough to stand alongside grilled meats or rice, yet versatile enough to work as a standalone vegetarian meal. The aroma alone—warm spices mingling with caramelized onions—will transform your kitchen into a taste of Puerto Rico.
Each bite offers that satisfying crunch followed by creamy, flavorful beans that hold their shape beautifully.
This recipe works equally well as a side for roasted chicken or pork, or as a main dish paired with rice and avocado. The method I've developed through years of testing ensures consistent results, whether you're cooking for a family gathering or a quiet weeknight dinner.
Let's get started on creating this Caribbean classic that's sure to become a favorite in your home.
Ingredients for goya beans
Pantry staples meet Caribbean magic—just 15 ingredients for this goya bean showstopper.
| Ingredient | Amount | Notes |
|---|---|---|
| Goya Beans (Dried) 🌱 | 1 ½ cups | Rinsed and soaked overnight |
| Yellow Onion 🧅 | 1 whole | Medium, finely chopped |
| Red Bell Pepper 🍆 | 1 whole | Medium, diced (seeds removed) |
| Garlic Cloves 🧄 | 4 cloves | Minced, fresh preferred |
| Canned Tomato Sauce 🍅 | 1 cup | San Marzano preferred |
| Olive Oil 🫒 | ¼ cup | Extra-virgin, fruity |
| Chicken Broth 💧 | 1 ½ cups | Low-sodium preferred |
| Cumin Seeds 🌿 | 1 tsp | Toasted lightly for depth |
| Ground Cumin 🌿 | ½ tsp | Freshly ground preferred |
| Dried Oregano 🍃 | 1 tsp | Mexican preferred |
| Bay Leaf 🌿 | 1 whole | Dried, removed before serving |
| Salt 🧂 | 1 tsp | Diamond Crystal kosher |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Fresh Cilantro 🌿 | ¼ cup | Chopped, for garnish |
| Lime 🍋 | 1 whole | Juiced, for finishing |
The goya beans are the star. Goya brand is the gold standard for these—look for the small, crunchy legumes in the Latin aisle. If you can't find them, substitute butter beans or lima beans (though texture won't be identical). Soak them overnight in plenty of water (about 4 cups per cup of beans)—this cuts cooking time dramatically. For the spices, Penzeys or local Latin markets carry the best cumin and oregano, but don't stress if you only have regular grocery store versions. Toast the cumin seeds in a dry pan for 30 seconds before grinding—this brings out their nutty aroma, which is key to that authentic Puerto Rican flavor profile. The bell pepper should be vibrant red, not dull—Spanish sweet peppers work best if you can find them, but regular red bells are fine in a pinch.
No cumin seeds? Ground cumin plus a pinch of cinnamon mimics the depth. Running out of lime? Key lime juice or even lemon works, though the flavor will be slightly different. The tomato sauce can be homemade (just crushed tomatoes and a pinch of salt), but San Marzano canned sauce is a game-changer—it's sweeter and less acidic, letting the goya beans shine. If you're vegetarian, use vegetable broth instead of chicken broth—just add a splash of soy sauce to mimic the umami. The cilantro is optional but adds that fresh finish; if you hate it, skip it or use parsley instead. For extra crunch, toss in a handful of toasted slivered almonds at the end (about 2 tbsp)—this is my secret weapon for texture contrast.
These beans taste even better the next day as flavors meld. Store in an airtight container in the fridge for up to 5 days, though I usually eat mine within 2 days. The texture gets softer over time, but the flavor deepens. Freezes beautifully too—portion into 1-cup servings before freezing for easy reheating. To reheat, add a splash of water or broth and warm gently. The lime juice should be added fresh when serving—it brightens everything up. If you're making this ahead for a party, keep the lime juice separate until the last minute to prevent the dish from getting watery.
Why You'll Love This Recipe
- No-Soaking Needed: I’ll admit, I used to dread the soaking step—but these dried goya beans soften perfectly in just 2 hours (or overnight if you’re planning ahead). No peeling, no fuss, just toss them in boiling water until tender. That’s 30 minutes saved right there.
- Sweet-Savory Magic: The red bell pepper and tomato sauce give it this bright, almost tropical depth, while the garlic and onion caramelize into something rich. It’s not just a side—it’s the star of the plate, especially when the beans break down just enough to soak up all that flavor.
- Potluck Proven: Between us, this is my go-to for gatherings because it travels well and disappears fast. Serve it warm with rice, or let it cool for a cold salad—either way, people will ask for the recipe. (Yes, even on a Tuesday night.)
- Budget Pantry Power: A single can of tomato sauce and a bag of dried beans stretch to feed four for under $5. Honestly, I make it twice a month just to keep my grocery bill low. Plus, leftovers taste even better the next day—if they last that long.
Step-by-step instructions for Puerto Rican-style goya beans
Here's how to transform those dried goya beans into a rich, flavorful dish with perfect texture.
Prepare the Goya Beans
Start by rinsing the 1.5 cups dried goya beans under cold water to remove any dust or debris. Place them in a large bowl and cover with plenty of cold water - at least 4 cups - then let them soak overnight. This overnight soak is crucial; it ensures the beans soften properly and cook through evenly without becoming mushy.
The next morning, drain the beans and rinse them again before transferring to a large pot. Add 1.5 cups chicken broth and bring to a boil over medium-high heat. Once boiling, reduce heat to medium-low and let the beans simmer uncovered for 45-60 minutes, stirring occasionally. You'll know they're ready when they're tender but still hold their shape - they should be fork-tender with a slight bite remaining. Drain any excess liquid and set aside.
Build the Flavor Base
In a large skillet, heat 0.25 cup olive oil over medium heat. Add the 1 tsp toasted cumin seeds and let them sizzle for 30 seconds until fragrant - you should smell that warm, earthy cumin aroma. Add the 1 whole medium yellow onion, finely chopped, and cook for 5-6 minutes until softened and translucent. Stir in the 1 whole red bell pepper, diced, and cook for another 4-5 minutes until tender.
Add the 4 cloves minced garlic and cook for 30 seconds until fragrant. Be careful not to burn the garlic - it should smell sweet and nutty, not bitter. Stir in the 1 cup canned tomato sauce, 0.5 tsp ground cumin, 1 tsp dried oregano, 1 whole bay leaf, 1 tsp salt, and 0.5 tsp black pepper. Let this mixture simmer for 5 minutes to develop the flavors and thicken slightly.
Combine and Simmer
Return the cooked goya beans to the skillet with the flavor base. Stir gently to combine, ensuring each bean is coated with the rich tomato-cumin mixture. Add 0.5 cup additional chicken broth if needed to create a loose sauce that clings to the beans. Bring to a gentle simmer over medium-low heat and let cook uncovered for 20-25 minutes, stirring occasionally.
During this time, the beans will absorb the flavors while maintaining their texture. You're aiming for a dish where each bite delivers that satisfying crunch from the beans along with the creamy tomato-cumin sauce. Taste and adjust seasoning if needed - you might want to add a pinch more salt or a squeeze of lime to balance the flavors.
Finish and Serve
Once the goya beans are heated through and the sauce has thickened to your liking, remove the bay leaf and stir in the 0.25 cup chopped fresh cilantro. Juice the whole lime and add 1-2 tablespoons of lime juice to brighten the flavors. Taste again and adjust seasoning one final time - the lime juice should cut through the richness of the tomato and cumin.
Serve the goya beans immediately while hot, garnished with additional cilantro if desired. This dish tastes best fresh from the stove, where the beans maintain their perfect texture and the flavors are at their peak. The combination of tender beans with that rich, slightly sweet tomato-cumin sauce creates a dish that's both comforting and complex - exactly what makes Puerto Rican cuisine so special.
Pro Tips For Making Goya Beans
- SOAK BEANS OVERNIGHT: I used to rush this and end up with uneven texture—some mushy, some rock-hard. Goya beans need at least 8 hours in warm water (not boiling) to soften properly. Drain and rinse before cooking, even if they still feel firm. Trust me, the extra wait makes them tender every time.
- CHAR THE ONION LOW: High heat turns onions bitter, and nobody wants that in their goya beans. Cook them on medium-low until deeply golden, stirring occasionally. If your onions start to stick, add a splash of water and scrape the bottom—this builds flavor instead of burning it.
- SKIP THE PEEL ON GARLIC: Peeling garlic cloves is a hassle, and the skins usually burn before the garlic does. Smash them lightly with the flat of your knife first, then add them whole to the pot. They’ll soften and infuse flavor without turning to charcoal.
- SIMMER NOT BOIL THE SAUCE: After adding tomato sauce, reduce heat to a gentle simmer. Boiling can make the sauce split or turn grainy, and you’ll lose the rich, slow-developed flavors. Let it bubble softly for at least 30 minutes—your future self will notice the difference.
Make-ahead tips for leftovers
Prep Ahead for Perfect Texture
Soak the 1.5 cups dried goya beans overnight in a bowl with 4 cups water to cut cooking time by half. I always do this the night before—I set a reminder on my phone so I don't forget.
The longer soak prevents the beans from turning mushy later. Drain and rinse them in the morning before cooking. This step is non-negotiable for that signature crunch. 🌱
Flavor Base Prep
Chop all your vegetables—1 onion, 1 red bell pepper, and 4 garlic cloves—and store them in a sealed container in the fridge for up to 2 days.
Toast the 1 tsp cumin seeds in a dry pan for 30 seconds and let them cool before storing. This prepped flavor base keeps for 3 days in the fridge, saving you 15 minutes of chopping on cook day. The toasted cumin adds depth that fresh cumin can't match.
Simmer Ahead for Deeper Flavor
After combining the beans with the flavor base, let the mixture simmer uncovered for 20 minutes on the stove, then transfer to a slow cooker. Cook on low for 2 hours or high for 1 hour to develop flavors without overcooking.
The beans will absorb the sauce beautifully, and you can reheat directly from the slow cooker. This method is perfect for busy weeknights—just add lime juice fresh when serving. ⏰
Freezing for Future Meals
Portion the cooked goya beans into 1-cup servings in airtight containers or freezer bags, leaving 1 inch of headspace for expansion. They freeze for up to 3 months without losing texture.
To reheat, thaw overnight in the fridge, then warm in a skillet with 2 tbsp water or broth over medium heat for 5-7 minutes. Add fresh lime juice and cilantro right before serving to revive the flavors. This is my go-to for lazy Sundays. ❄️
Make-Ahead for Gatherings
Double the recipe and prepare it completely 1 day ahead for family dinners or potlucks. Store in a covered pot in the fridge, and reheat gently on the stove with a splash of broth. The flavors actually improve overnight as the spices meld.
I like to serve this with grilled chicken or alongside white rice—it’s a crowd-pleaser that feels special without being fussy. The key is keeping the lime juice separate until serving. 💫
Nutrition facts
Frequently asked questions
What makes goya beans different from other beans?
Goya beans are small, crunchy legumes with a nutty flavor that stays firm even when cooked. Unlike butter beans or black beans, they hold their shape beautifully and provide that satisfying bite. The secret to their texture is proper soaking and careful simmering—never overcooking! They're a staple in Puerto Rican cuisine and work perfectly as a side dish or vegetarian main.
Can I substitute goya beans with regular beans?
While you can use butter beans or lima beans in a pinch, they won't give you that signature crunch and texture. For the best results, stick with Goya brand goya beans—they're specifically cultivated for this dish. If you absolutely must substitute, use frozen lima beans (thawed and drained) and reduce cooking time by 10-15 minutes. The flavor won't be identical, but it'll still be delicious.
How do I know when the goya beans are fully cooked?
The beans are done when they're fork-tender with a slight bite—about 45-60 minutes of simmering after the initial boil. They should hold their shape but be soft enough to mash slightly between your fingers. Overcooking turns them mushy, so keep an eye on them and taste test occasionally. The sauce should coat them nicely but not make them soggy.
Is this recipe vegetarian-friendly?
Simply swap the chicken broth for vegetable broth and add a splash of soy sauce for extra umami. The dish stays hearty and flavorful without any meat. For extra protein, serve with rice, avocado, or grilled tofu. The lime and cilantro add a bright contrast that makes it feel fresh and satisfying.
Why does my dish taste bland after reheating?
Reheating can mute the flavors, especially if the sauce dries out. Always add a splash of broth or water when reheating, and finish with fresh lime juice and cilantro. For best results, reheat gently on the stove (never microwave) and adjust seasoning with salt or a pinch of smoked paprika. The lime juice should be added fresh—it brightens everything up!