Main Courses
This Cape Verdean rice recipe brings the heart of West African cuisine to your kitchen with its smoky, cilantro-lime aroma and tender, flavorful layers. Traditionally known as Cachupa, this one-pot dish combines rice, beans, and corn into a hearty meal that simmers slowly into perfect harmony.
The key lies in soaking dried beans overnight and building layers of flavor through garlic, bay leaves, and fresh herbs—creating a dish that’s both comforting and deeply satisfying.
What sets this recipe apart is its versatility—whether you include salted cod, chicken, or keep it vegetarian, the base remains the same. The slow cooking process transforms tough beans into tender morsels while infusing the rice with smoky, earthy notes.
Fresh cilantro and lime brighten the dish at the end, balancing the richness with a zesty finish that’s pure Cape Verdean soul. This isn’t just a side dish; it’s a complete, nourishing meal in one pot.
The beauty of this recipe is in its simplicity: minimal prep, one pot, and hours of flavor developing as you cook. The result is a fragrant, textured dish where each bite delivers a mix of creamy rice, hearty beans, and sweet corn—all tied together by the aromatic spices.
Perfect for feeding a crowd or meal prepping for the week, this recipe delivers restaurant-quality comfort food with minimal effort.
Ready to transform simple ingredients into a dish that tastes like home? Let’s get started—your kitchen will soon smell like the islands of Cape Verde.
Ingredients for cape verdean rice
Six cups of aromatic rice, beans, and corn create this hearty Cape Verdean one-pot masterpiece.
| Ingredient | Amount | Notes |
|---|---|---|
| Long-Grain White Rice 🍚 | 2 cups | Uncooked, jasmine or basmati preferred |
| Dried Black Beans 🌱 | 1 ½ cups | Soaked overnight, drained |
| Frozen Corn Kernels 🌽 | 1 ½ cups | Thawed, or canned drained |
| Garlic Cloves 🧄 | 6 cloves | Minced for depth of flavor |
| Onion 🧅 | 1 whole | Medium yellow, diced |
| Bay Leaves 🌿 | 2 whole | Dried, for aromatic base |
| Fresh Cilantro 🌿 | ½ cup | Chopped, stems included |
| Lime 🍋 | 1 whole | Juiced, zest optional |
| Salted Cod (Optional) 🐟 | 6 oz | Soaked 24 hours, flaked |
| Chicken Breast (Optional) 🍗 | 1 ½ lb | Boneless, skinless, cubed |
| Olive Oil 🫒 | ½ cup | Extra-virgin for richness |
| Smoked Paprika 🌶️ | 1 tbsp | For authentic smoky flavor |
| Ground Cumin 🌿 | 1 tsp | Toasted for depth |
| Salt 🧂 | 1 ½ tsp | Adjust to taste |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
The dried black beans are the foundation—soak them overnight for tender, flavorful bites. Trader Joe's or Whole Foods carry high-quality dried beans, but any organic brand works. For the smoked paprika, Penzeys or the bulk bin at Sprouts offer the richest flavor. Fresh cilantro is non-negotiable here; the bright, citrusy notes balance the dish perfectly. If you can't find it fresh, dried cilantro at half the amount works in a pinch, but it won't have the same punch. The lime should be juiced fresh—bottled lime juice lacks the vibrant acidity this dish needs.
No smoked paprika? Substitute half the amount of regular paprika plus a pinch of liquid smoke for depth. Running short on black beans? Pinto or kidney beans work equally well. For the optional protein, chicken thighs hold up better than breasts during slow cooking. If using salted cod, soak it in cold water for at least 24 hours, changing the water twice to remove excess salt. The corn can be fresh, frozen, or canned—just drain it well. For extra smokiness, char a whole onion and garlic clove over an open flame before dicing.
This dish tastes even better the next day as flavors meld. Store leftovers in an airtight container in the fridge for up to 5 days. For meal prep, portion into containers with a sprinkle of fresh cilantro on top—it keeps the herbs vibrant. Freeze for up to 3 months by spreading portions on a tray first to prevent clumping. The rice-to-liquid ratio is key; if your pot has a tight lid, you may need to add half a cup of water more than called for. Always check for doneness before serving.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this recipe when I’m too tired to deal with multiple pans. Just toss in the rice, beans, corn, and onions—no fancy layers, no stress. The rice soaks up all the smoky garlic and onion flavor while it cooks, turning it into a hearty, fragrant bowl without the cleanup.
- Crave-Worthy Depth: That slow-simmered black bean broth? It’s where this dish shines. The beans soften just enough to melt into the rice, while the frozen corn adds a bright, sweet contrast. Honestly, the first bite makes me want to skip dinner the next night just to have it again.
- Lunchbox Hero: Between us, this is my go-to for meal prep. The flavors only get better after a day or two in the fridge—perfect for packing lunches or feeding a crowd. I’ll make a big batch on Sundays, and by Friday, everyone’s still begging for seconds.
- Budget Powerhouse: Black beans and rice are already a winning combo, but adding corn stretches it even further. I’ve fed four people for under $10 with this—plus, it’s one of those dishes that tastes like you slaved over it, even when you didn’t. My wallet and taste buds thank me every time.
Step-by-step instructions for authentic Cape Verdean rice
This one-pot method delivers smoky, citrusy flavors with minimal cleanup.
Sauté Aromatics in Olive Oil
Heat the 0.5 cup olive oil in a large, heavy-bottomed pot over medium heat. Add the 1 whole diced onion and cook for 5 minutes until soft and translucent, stirring occasionally. This foundational step builds flavor - don't rush it.
Add the 6 cloves minced garlic, 1 tbsp smoked paprika, and 1 tsp ground cumin. Stir for 1 minute until fragrant - you should smell that deep, smoky aroma developing. The paprika will darken slightly as it blooms, creating the signature Cape Verdean color profile. This is where the dish's authentic character begins to form.
Add Protein and Beans
If using, add the 1.5 lb cubed chicken breast and cook for 5-6 minutes until lightly browned. Remove and set aside. In the same pot, add the 1.5 cups drained black beans and 2 whole bay leaves. Stir for 2 minutes to coat the beans in the aromatic oil.
For the salted cod option, add the 6 oz flaked cod now and cook for 3 minutes until slightly opaque. The cod should absorb the smoky flavors while remaining tender. If omitting both proteins, simply proceed to the rice - the beans will provide enough substance.
Build the Flavor Base
Add the 2 cups long-grain white rice and stir to coat completely in the oil. Pour in 4 cups water (or enough to cover rice by 1 inch) and bring to a boil. Once boiling, reduce heat to low and simmer uncovered for 15 minutes, stirring occasionally.
After 15 minutes, add the 1.5 cups frozen corn kernels and 1.5 tsp salt. Stir gently to distribute evenly. The corn will thaw quickly in the hot liquid while the rice continues cooking. This is when the dish starts transforming into something cohesive - the rice should be absorbing liquid but not yet fully tender.
Finish with Citrus and Herbs
After another 10 minutes of simmering, add the juice of 1 whole lime and 0.5 cup chopped fresh cilantro. Stir gently to incorporate. The lime juice will brighten the smoky flavors while the cilantro adds freshness. Taste and adjust seasoning with additional salt or 0.5 tsp black pepper if needed.
Return any reserved chicken to the pot and simmer for an additional 5 minutes until the rice is tender and all liquid has been absorbed. The rice should be fluffy with individual grains visible, not mushy. If too dry, add 2-3 tablespoons water and cover for 2 minutes to steam.
Rest and Serve
Remove from heat and let rest covered for 5 minutes. This resting period allows flavors to meld and the rice to finish cooking from residual heat. Fluff gently with a fork before serving to achieve that signature Cape Verdean texture - slightly firm yet tender with pockets of smoky flavor.
Serve immediately with the cilantro garnish on top. The dish should have a balance of smoky, citrusy, and herby notes with each bite. For best results, serve with warm crusty bread to soak up the flavorful juices.
Pro Tips For Making Cape Verdean Rice
- SOAK BEANS OVERNIGHT: I learned this the hard way—skipping the soak leaves your black beans tough and flavorless. Toss them in cold water for at least 8 hours (or quick-soak: boil 2 minutes, then let sit 1 hour). The longer they soak, the creamier your rice will be—no one wants mushy beans fighting for texture.
- SAUTÉ ONIONS LOW AND SLOW: Cape Verdean rice relies on caramelized onions for depth, but rushing this step just burns them. Cook your onions on medium-low heat for 10-12 minutes until golden, stirring occasionally. If they start sticking, add a splash of water—this isn’t a sear, it’s a slow dance.
- FROZEN CORN NEEDS A THAW: Dumping frozen corn straight into the pot? Big mistake. Thaw and drain it first, then pat dry with a paper towel. Cold, icy corn will halt your rice’s cooking process, leaving you with uneven grains. Five minutes in a colander does the trick—trust me, your rice will thank you.
- SALT THE RICE WATER: This isn’t just seasoning—it’s the thing that matters most. Use 1.5 teaspoons of salt per 4 cups of water (yes, even if your beans or broth are salty). The rice absorbs the salt as it cooks, so don’t skimp. Taste the water before adding rice—it should taste like the sea.
Regional styles of this cape verdean rice
Island of São Vicente Style
On São Vicente, the birthplace of Cachupa, this dish often includes shredded beef or pork shoulder instead of chicken. Locals use dried salted cod as a staple, soaking it for 48 hours to remove excess salt.
The cooking time extends to 3-4 hours on low heat, creating a richer, deeper flavor profile. Try adding 1 diced potato for extra heartiness—it’s a common addition on this island. 🌋
Brava Island Adaptation
Brava’s version keeps the beans and rice but replaces corn with sweet plantains, sliced and cooked until tender. The plantains add natural sweetness that balances the smoky spices. Use 1 ripe plantain, sliced into ½-inch pieces, and add them with the corn.
For extra authenticity, include 1 tbsp tomato paste in the initial sauté—it’s a signature touch on Brava. 🍌
Mindelo-Inspired Vegetarian
Mindelo, the cultural capital, often features vegetarian Cachupa in markets. Swap the chicken for extra-firm tofu (pressed and cubed) and add ½ cup diced bell peppers for color and crunch.
Boost umami with 1 tbsp soy sauce when adding the lime juice. The dish remains hearty while celebrating Cape Verdean flavors without meat. 🌱
Boavista’s Smoky Twist
Boavista’s coastal influence means their Cachupa often includes fresh seafood like shrimp or scallops. Add ½ lb shrimp (peeled and deveined) in the last 5 minutes of cooking. For extra smokiness, char 1 whole garlic clove over an open flame before mincing and adding it to the pot.
This technique adds a campfire-like depth to the dish. 🍤
Santa Maria’s Simplified Version
Santa Maria’s version is lighter, using brown rice instead of white for a nuttier base. Reduce the cooking liquid to 3 cups and add ½ cup coconut milk with the lime juice.
This adaptation keeps the dish flavorful but less heavy, perfect for warm afternoons. Garnish with toasted coconut flakes for a tropical finish. 🥥
Nutrition facts
Frequently asked questions
Why do I need to soak the beans overnight?
Soaking the beans overnight is essential for two reasons: it dramatically reduces cooking time and makes them much more tender. The beans absorb water and soften, preventing a mushy texture in your dish. Plus, it helps remove any impurities that could affect flavor. For best results, use 3 cups of water per 1 cup of beans and soak for at least 8 hours.
Can I make this recipe without salted cod?
This dish is incredibly versatile. If you omit the salted cod, you can still create a flavorful meal using chicken, tofu, or even just the beans and rice. The smoky paprika and cumin provide enough depth, while the lime and cilantro add brightness. For extra protein, consider adding shrimp or diced potatoes instead.
How do I know when the rice is fully cooked?
The rice should be tender but still have a slight bite—it should not be mushy. Test it by inserting a fork or skewer: if it slides in easily but the grains hold together, it's done. If the bottom is browning too quickly, reduce the heat slightly. The dish should have about 1 inch of liquid remaining when the rice is nearly done, which will be absorbed during the final 5 minutes of resting.
What if my dish tastes too salty?
If the dish tastes too salty, don't panic! You can balance the flavor by adding more lime juice (up to 1 extra tablespoon) or fresh cilantro, which brightens the palate. For a more dramatic fix, stir in ½ cup of warm water or broth and let it simmer for 5 minutes to dilute the saltiness. Avoid adding more water at the end, as it can make the rice mushy.
Can I make this recipe in an Instant Pot?
Yes, you can adapt this for an Instant Pot! Sauté the aromatics as directed, then add all ingredients except the lime and cilantro. Seal the lid and cook on high pressure for 12 minutes, followed by a 10-minute natural release. Stir in the lime juice and cilantro at the end. The Instant Pot version cooks faster but may need a splash of water if the rice seems dry after release.
