African Coconut Rice Recipe: Toasted Peanut and Tomato-Spiced Flavor Bomb

Main Courses

African Coconut Rice Recipe: Toasted Peanut and Tomato-Spiced Flavor Bomb

This African coconut rice recipe transforms simple ingredients into a fragrant, peanut-spiced side dish that steals every meal. The secret lies in toasting whole peanuts and tomatoes until they deepen into caramelized richness, then simmering jasmine rice in coconut milk until each grain is tender yet distinct. I first made this during a West African cooking challenge, and it became an instant favorite for its ability to balance creamy coconut with nutty, savory depth.

The dish starts with building layers of flavor—sautéing onions, garlic, and ginger until fragrant, then adding tomatoes and peanuts to create a thick, aromatic base. Coconut milk infuses the rice with its signature sweetness while keeping the texture light and fluffy. Thyme and curry powder add warmth, while a splash of lime at the end brightens every bite. This recipe delivers restaurant-quality results without requiring special equipment.

What makes this recipe special is its versatility—serve it as a side with grilled fish or chicken, or let it stand alone as a satisfying main dish. The toasted peanut notes and tomato-spiced broth create a complex flavor profile that pairs beautifully with African proteins like tilapia or beef stew. Each grain of rice absorbs the coconut milk while maintaining its individual shape, ensuring every mouthful is perfectly balanced.

The best part? This one-pot method means minimal cleanup, and the flavors only deepen as it sits. Perfect for meal prep or feeding a crowd, this African coconut rice brings a taste of West Africa to your table with just a few simple ingredients and a little patience. Let’s get cooking!

👨‍🍳
Difficulty
Medium
🌿
Diet
Vegetarian
🔥
Calories
Med Cal

Ingredients for african coconut rice

Toasted peanuts and tomatoes build the aromatic base for this fragrant West African-inspired dish.

Ingredient Amount Notes
Jasmine Rice 🍚 1 ½ cups Uncooked, long-grain preferred
Peanuts 🥜 ½ cup Whole, unsalted, dry-roasted
Ripe Tomatoes 🍅 1 lb Medium-sized, chopped
Yellow Onion 🧅 1 whole Medium, finely diced
Garlic Cloves 🧄 4 cloves Fresh, minced
Fresh Ginger 🌿 1 tbsp Finely grated, peeled
Coconut Milk 🥥 1 can Full-fat, 13.5 oz can
Vegetable Oil 🫒 2 tbsp Neutral, high smoke point
Curry Powder 🌶️ 1 tsp Mild, ground
Ground Black Pepper 🌶️ ½ tsp Freshly ground preferred
Fresh Thyme 🌿 1 tbsp Leaves only, chopped
Salt 🧂 1 tsp Kosher or sea salt
Lime Juice 🍋 1 tbsp Freshly squeezed

The peanuts and tomatoes are the flavor anchors here. Whole, unsalted peanuts from the bulk section at Whole Foods or Trader Joe's deliver the best texture and nutty depth—skip the salted kind. For tomatoes, vine-ripened varieties like Roma or heirloom work best, but whatever’s ripe at the store will do. The ginger should be fresh, organic if possible; the peeled, grated version adds a bright, citrusy kick that canned ginger can’t match. Look for Thai or Indian curry powder in the international aisle—it’s got more complexity than the American blend.

No fresh thyme? Dried thyme at one-third the amount works in a pinch, but fresh is ideal. Running low on coconut milk? Light coconut milk plus extra water keeps the texture similar. The lime juice is non-negotiable—it cuts through the richness and brightens everything. For extra depth, toast the rice in the pot for 2 minutes before adding liquid (this removes excess starch and prevents mushiness). If you’ve got smoked paprika on hand, add a pinch—it pairs beautifully with the peanut notes.

This rice keeps beautifully—3-4 days in the fridge, 3 months frozen. Portion into airtight containers for easy reheating. The flavors actually improve overnight as everything melds together. For leftovers, sprinkle with extra lime juice and a pinch of salt before serving. The peanut base also freezes well on its own, so you can make a double batch and save half for another use—think peanut soups or stews.

❤️

Why You'll Love This Recipe

  • One-Pot Magic: I swear by this recipe—just toss everything into one pot with the rice, coconut milk, and a pinch of salt. No fancy layers, no stress. The peanuts toast right in the pan while the tomatoes break down into a silky sauce that clings to every grain.
  • Creamy Yet Crunchy: That contrast? Chef’s kiss. The jasmine rice soaks up the rich coconut milk until it’s tender but still holds its shape, while the toasted peanuts add a satisfying bite. Honestly, the garlic and onions caramelize into something so fragrant, it smells like a hug in a pot.
  • Weeknight to Weekend: Between us, this is my go-to for lazy Sundays or when friends drop by unannounced. Serve it with grilled chicken or fish, or pile it into wraps for a quick lunch. Even my picky-eating cousin devours it—(yes, even on a Tuesday night).
  • Budget-Friendly Luxury: Coconut milk might sound fancy, but a can lasts forever, and jasmine rice stretches for days. The peanuts? A handful goes a long way, and the tomatoes and onions are pantry staples. Leftovers reheat like a dream, so I make double portions and pretend I’m feeding a crowd.

Step-by-step instructions for African coconut rice

This aromatic rice dish combines toasted peanuts with tomato-spiced coconut for a flavor profile that's both rich and balanced.

1

Toast the Peanuts and Prepare the Aromatics

Heat a dry skillet over medium heat and add the 0.5 cup peanuts. Toast them for 3-4 minutes until they release their nutty aroma and turn a light golden color. Remove them from the pan and set aside immediately—they'll continue to crisp as they cool.

In the same skillet, add the 2 tablespoons vegetable oil and heat until shimmering. Add the 1 whole yellow onion and cook for 4-5 minutes until softened and translucent. Add the 4 cloves garlic cloves and the 1 tablespoon fresh ginger, cooking for another 30 seconds until fragrant. This step builds the flavor foundation for the entire dish.

2

Cook the Tomatoes and Spices

Add the 1 lb ripe tomatoes to the skillet and cook for 8-10 minutes, stirring occasionally, until they break down into a thick, jam-like consistency. You'll notice the mixture darken slightly as the natural sugars caramelize—this adds depth to the flavor.

Stir in the 1 teaspoon curry powder, 0.5 teaspoon ground black pepper, and 1 teaspoon salt. Cook for another 2 minutes until the spices are fully incorporated and the mixture has a rich, earthy aroma. Remove the skillet from heat and let the tomato mixture cool slightly while you prepare the rice.

3

Rinse and Parboil the Rice

Rinse the 1.5 cups jasmine rice under cold water until the water runs clear. This removes excess starch that would otherwise make the rice gummy. Transfer the rice to a pot and add 2 cups of water. Bring to a boil over high heat, then immediately reduce to a simmer and cook uncovered for 5 minutes.

After 5 minutes, drain the rice in a fine-mesh strainer, shaking gently to remove all excess water. This parboiling step ensures each grain stays distinct and fluffy. Return the drained rice to the pot and set aside—it's ready to absorb the coconut milk and tomato mixture.

4

Combine All Ingredients and Simmer

Pour the 1 can coconut milk into the pot with the parboiled rice. Stir in the tomato-spice mixture, the toasted peanuts, and the 1 tablespoon fresh thyme leaves. Bring the mixture to a gentle simmer over medium-low heat, then reduce to the lowest setting possible while maintaining a bare simmer.

Cover the pot and cook for 18-20 minutes, checking occasionally to ensure the rice is absorbing the liquid evenly. The rice is done when all the liquid has been absorbed and the grains are tender but still slightly firm to the bite. If the mixture looks too dry before this time, add 2-3 tablespoons of water.

5

Finish with Lime and Rest

Remove the pot from heat and stir in the 1 tablespoon lime juice. The acidity brightens all the flavors and cuts through the richness of the coconut milk. Cover the pot and let the rice rest for 5 minutes—this allows the flavors to meld completely and the rice to finish steaming.

Fluff the rice gently with a fork before serving. The finished dish should have tender, separate grains of rice with pockets of creamy coconut milk, chunks of tomato, and crunchy peanuts. Each bite delivers a perfect balance of savory, spicy, and nutty flavors that define this African-inspired coconut rice.

👨‍🍳

Pro Tips For Making African Coconut Rice

  • TOAST THE PEANUTS: Skip the raw peanuts—toss them in a dry pan over medium heat for 3-4 minutes until they smell nutty and golden. I learned this the hard way: untoasted peanuts taste bland and soak up moisture like a sponge, turning your rice dish into a sad, gummy mess.
  • SAUTÉ ONIONS LOW: Caramelize those onions slow and steady—20 minutes minimum—until they’re deep amber, not burnt. High heat turns them bitter, and bitter onions ruin the creamy coconut-tomato balance. (Yes, even if you’re impatient like me.)
  • RINSE THE RICE TWICE: Give jasmine rice a quick rinse, then a second rinse with cold water until the water runs almost clear. This removes excess starch, which is why your rice ends up gluey instead of fluffy. Trust the process—your future self will thank you.
  • SIMMER THE COCONUT MILK: Reduce the coconut milk by half before mixing it into the rice—this intensifies the flavor without making the dish watery. I skip this and end up with rice that tastes like it’s swimming in a pool of milk. (Not ideal.)

Pro cooking tips for this recipe

Toast Peanuts Perfectly

Watch those peanuts like a hawk—they go from raw to crispy in seconds! Toast them over medium heat for exactly 3-4 minutes until they turn a light golden color and release that irresistible aroma. Remove them immediately to prevent burning, which turns them bitter. I like to spread them on a plate to cool completely before adding to the rice—this keeps them crunchy. 🥜

Pro tip: Use unsalted peanuts from the bulk section for the best flavor. If you're short on time, substitute with peanut butter (2 tbsp) mixed with 1 tbsp water—just toast it in the same skillet until fragrant before adding to the tomatoes.

Caramelize Tomatoes Properly

The key to rich tomato flavor is patience—let those tomatoes cook 8-10 minutes until they break down into a jam-like consistency. Stir occasionally to prevent burning, and resist the urge to add liquid. The natural sugars will caramelize, creating deep, complex flavors that elevate the entire dish. 🍅

For extra depth, add 1 tsp smoked paprika when you stir in the curry powder. This adds a subtle smokiness that pairs beautifully with the coconut milk. If your tomatoes are watery, pat them dry with a paper towel before cooking to ensure proper caramelization.

Parboil for Perfect Texture

Rinsing the rice removes excess starch, but the 5-minute parboil is what prevents mushy grains. Use 2 cups water for 1.5 cups rice—this ratio ensures the grains stay firm while absorbing the coconut milk later. After draining, shake the rice gently in the strainer to remove all moisture. 🍚

For even fluffier rice, spread the drained rice on a baking sheet and let it dry for 5 minutes before adding to the coconut milk. This extra step prevents clumping and gives you restaurant-quality texture.

Simmer Gently for Even Cooking

After combining everything, maintain a bare simmer—not a rolling boil—to prevent the rice from turning mushy. If the mixture looks dry before 18-20 minutes, add 2-3 tbsp water gradually. The rice is done when all liquid is absorbed and grains are tender but still slightly firm. 🔥

I use a heavy-bottomed pot to distribute heat evenly. If your rice finishes early, cover it and let it steam off the remaining moisture for 2-3 minutes—this ensures perfect texture without overcooking.

Lime at the End

Don't skip the lime juice—it's the secret weapon that brightens all the flavors. Stir it in off the heat to prevent curdling. The acidity cuts through the richness of the coconut milk and balances the nutty, spiced notes. 🍋

For extra zing, add 1 tsp lime zest along with the juice. The zest adds a fragrant citrus note that pairs perfectly with the toasted peanuts. Let the rice rest for 5 minutes after adding lime to let the flavors meld completely.

Nutrition facts

Servings 4
Amount Per Serving
Calories 470kcal
% Daily Value *
Total Fat 24g31%
Saturated Fat 18g90%
Cholesterol 0mg0%
Sodium 580mg25%
Total Carbohydrate 52g18%
Dietary Fiber 6g21%
Sugars 6g
Protein 12g24%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions

1

Can I substitute jasmine rice with another type?

Yes, but texture may vary. Basmati rice works well as a close substitute, while long-grain white rice will absorb more liquid. For extra fluffiness, use 1.25 cups of basmati instead of 1.5 cups jasmine. Avoid sticky rice varieties like sushi rice—they'll turn mushy in coconut milk.

2

What's the best way to store leftovers?

Store in an airtight container in the fridge for 3-4 days or freeze for 3 months. Reheat gently in a skillet with 1 tbsp water per cup of rice to restore moisture. The flavors actually improve overnight! For extra freshness, sprinkle with lime zest before serving.

3

Can I make this recipe without coconut milk?

Yes, but the flavor profile changes dramatically. Replace with 1 cup chicken or vegetable broth plus 2 tbsp heavy cream for richness. For a vegan version, use 1 cup cashew cream (blend soaked cashews with water). The peanut-tomato base will still shine, but coconut's sweetness is key to authentic flavor.

4

How do I adjust the spice level?

For milder heat, reduce curry powder to 0.5 tsp and omit black pepper. For extra kick, add 0.25 tsp cayenne or 1 tsp chili flakes when cooking tomatoes. Always taste before serving—African coconut rice should balance nutty, spicy, and creamy notes.

5

What proteins pair best with this dish?

Grilled fish (tilapia or mahi-mahi) is classic, but it also pairs beautifully with:

  • Chicken thighs (marinated in lime and garlic)
  • Beef stew (the peanut notes complement rich broths)
  • Shrimp (sautéed with garlic and thyme) For a vegetarian option, serve with roasted eggplant or black-eyed peas.
★★★★★4.7(10 reviews)
Categories Main Courses