
Welcome back to the kitchen! In my life as a pastry chef, I spend a lot of time measuring flour to the exact gram and watching oven thermometers like a hawk. Baking is strict. Cooking, however, is where we get to breathe, taste, and play. Today, we are diving into a recipe that requires a little patience but rewards you with the most incredible, savory aroma. We are making Senegalese thieboudienne.
If you have never experienced West African cuisine before, this is the perfect place to start. It is a stunning, one-pot masterpiece of fish, vegetables, and rice simmered in a rich tomato broth. The flavors are deeply layered, earthy, and bright all at once. Grab your favorite heavy-bottomed pot, and let us build something beautiful together.
What Is Thieboudienne?
Thieboudienne (often spelled ceebu jën) is proudly known as the national dish of Senegal. The name literally translates to "fish and rice" in the Wolof language. Originating in the coastal city of Saint-Louis, this dish was born from the brilliant pairing of fresh local catches and pantry staples.
At its heart, Senegalese thieboudienne is a celebration of communal eating. It is traditionally served on a large platter, with the gorgeous tomato rice forming a bed for the tender fish and brightly colored vegetables. It is a dish that brings people together. While it has a reputation for taking all day to make, the process is actually just a series of simple, highly flavorful steps. You can absolutely master this Senegalese recipe in your home kitchen.
Ingredients You’ll Need (and Smart Substitutions)

Building a great pot of fish and rice starts with gathering the right elements. Here is what you need, along with some helpful swaps.
- The Fish: You need a firm white fish that can hold up to simmering. Snapper, grouper, or sea bass are fantastic choices. You can use whole fish or thick fillets. If you are on a budget, thick tilapia or cod fillets work, but you must handle them very gently so they do not break.
- The Rice: To get the authentic texture, look for "broken rice" at your local international market. The fractured grains absorb liquid beautifully. If you cannot find it, jasmine or basmati rice makes a wonderful substitute. Just be aware that whole-grain rice will have a slightly fluffier, more distinct bite.
- The Tomato Base: A combination of tomato paste and crushed tomatoes builds the deep, red foundation for our tomato rice.
- Aromatics and Seasoning: You will need plenty of onions, fresh garlic, and a bouillon cube (vegetable or chicken) for that essential savory depth. Fresh thyme or bay leaves and black pepper round it out.
- The Vegetables: Thieboudienne uses hearty vegetables that cook right in the broth. Gather a small wedge of green cabbage, a couple of carrots, a small eggplant, and either cassava or a sweet potato.
- Optional Traditional Element: Traditional recipes often use "guedj" (fermented, dried fish) for a funky umami kick. It is hard to find in standard grocery stores, so we will use a splash of fish sauce or simply rely on bouillon to bring that savory magic.
How to Make Senegalese Thieboudienne (Step-by-Step)

This process is all about building layers. Follow these timing cues, and your kitchen will smell phenomenal.
1. Season and sear the fish
We start by making a quick paste of garlic, parsley, and a pinch of salt. Cut small slits in your fish fillets and rub this mixture right into the meat. Heat a generous splash of neutral oil in your large pot. Sear the fish for about three minutes on each side until golden, then carefully remove it to a plate. Searing creates a crust that prevents the fish from falling apart later.
2. Build the rich base
In that same pot with the fish oil, add your diced onions and cook until soft. Stir in your tomato paste. Let the tomato paste fry for a few minutes until it darkens slightly. This removes the raw, metallic tomato flavor. Pour in your crushed tomatoes and a splash of water to get things bubbling.
3. Simmer the vegetables
Pour in about four cups of water or broth, add your bouillon cube, and bring the pot to a simmer. Carefully drop in your cabbage wedge, peeled carrots, chunks of eggplant, and sweet potato. Let them cook gently in the broth for about 20 to 25 minutes.
4. Return the fish
Nestle your seared fish back into the broth with the vegetables for the last 10 minutes of cooking. Once the fish is cooked through and the vegetables are tender, use a slotted spoon to carefully remove all the fish and vegetables to a platter. Keep them warm.
5. Cook the tomato rice
You are left with a pot of incredibly flavorful, bubbling red broth. Taste it! It should be slightly salty. Pour in your rinsed broken rice (or jasmine rice). Stir it once, turn the heat down to low, and cover the pot with a tight-fitting lid. Let the rice steam for about 25 to 30 minutes until it absorbs all that beautiful flavor and becomes tender.
Tips for the Best Fish and Rice
Even the best recipes occasionally need troubleshooting. Here are my favorite tips for success:
- Mushy vegetables: Do not walk away while the vegetables simmer. Check them with a fork. Carrots take longer than eggplant. If a vegetable is soft, take it out early so it does not turn into soup.
- Burnt rice: Tomato broth loves to scorch on the bottom of the pan. Keep your heat very low when cooking the rice. If your pot lid is loose, place a sheet of foil over the pot before adding the lid to trap the steam.
- Breaking fish: Only flip your fish once during the initial sear. When you return it to the broth, just let it rest gently on top. Do not stir the pot while the fish is in it.
What to Serve With Thieboudienne

Because this dish already has your protein, starch, and vegetables all in one pot, you hardly need any side dishes. However, serving it with plenty of fresh lemon or lime wedges is mandatory. The bright citrus juice cuts through the rich, earthy tomato oil beautifully. A crisp, simple cucumber and tomato salad on the side provides a refreshing, crunchy contrast to the soft, warm rice.
Storage and Reheating
This is one of those magical dishes that somehow tastes even better the next day.
Store leftover rice, fish, and vegetables in an airtight container in the refrigerator for up to three days. To reheat it, I recommend using the stove. Place a portion in a small saucepan, add two tablespoons of water, cover tightly, and warm it over low heat. The steam will revive the rice and keep the fish from drying out. You can use the microwave, but cover the plate with a damp paper towel to retain moisture.
Optional Variations
Make this recipe work for your palate and your pantry.
- Adjust the spice: Senegalese food often features a whole Scotch bonnet or habanero pepper floating in the broth for aroma and heat. If you love spice, drop a whole pepper into the broth while the vegetables simmer. Just do not let it burst!
- Vegetable swaps: Use whatever hearty vegetables you have. Chunks of butternut squash, whole okra pods, or turnips work wonderfully in the simmering broth.
- Fish alternatives: If you are not a fan of fish, you can absolutely make this dish using bone-in chicken thighs. The method remains exactly the same, though the chicken will need a slightly longer initial sear to cook through safely.
A Beautiful Feast Awaits
Cooking Senegalese thieboudienne is a journey of aromas, textures, and deep flavors. It teaches you how to build a broth, how to respect delicate proteins, and how to transform humble rice into the star of the show. I hope you carve out a little time this weekend to try it. Pour yourself a drink, enjoy the rhythm of the chopping and stirring, and share this incredible feast with someone you love.
Senegalese Thieboudienne Recipe Card

Prep time: 20 minutes
Cook time: 1 hour 15 minutes
Total time: 1 hour 35 minutes
Servings: 4 to 6
Ingredients
- 1.5 lbs (680g) firm white fish fillets (snapper, grouper, or thick cod)
- 3 cloves garlic, minced
- 2 tablespoons fresh parsley, finely chopped
- 1/4 cup neutral cooking oil (like canola or vegetable)
- 1 large yellow onion, finely diced
- 3 tablespoons tomato paste
- 1 cup crushed tomatoes
- 4 cups water or vegetable broth
- 1 vegetable or chicken bouillon cube
- 1 small wedge of green cabbage
- 2 medium carrots, peeled and cut into thick chunks
- 1 small eggplant, cut into large chunks
- 1 sweet potato (or cassava), peeled and cut into large chunks
- 1 whole habanero pepper (optional, for flavor)
- 2 cups broken rice (or jasmine rice), rinsed until water runs clear
- Salt and black pepper to taste
- Lemon wedges for serving
Instructions
- Prep the fish: In a small bowl, mix the minced garlic, parsley, and a pinch of salt. Cut small slits in the fish fillets and rub the mixture into the meat.
- Sear the fish: Heat the oil in a large, heavy-bottomed pot or Dutch oven over medium-high heat. Sear the fish for 3 minutes per side until golden. Remove the fish to a plate and set aside.
- Make the base: Lower the heat to medium. Add the diced onions to the hot oil and sauté until soft (about 5 minutes). Stir in the tomato paste and cook for 3 minutes until it darkens. Pour in the crushed tomatoes and cook for 2 more minutes.
- Simmer the vegetables: Pour the water (or broth) into the pot. Add the bouillon cube, salt, and black pepper. Bring to a gentle boil. Carefully add the cabbage, carrots, eggplant, sweet potato, and the whole habanero pepper (if using). Lower the heat, cover, and simmer for 20 to 25 minutes until vegetables are tender.
- Finish the fish: Gently return the seared fish to the pot, nestling it among the vegetables. Simmer uncovered for 10 minutes until the fish is fully cooked.
- Remove solids: Using a slotted spoon, carefully remove the fish, all the vegetables, and the hot pepper to a large serving platter. Cover with foil to keep warm.
- Cook the rice: Taste the remaining red broth in the pot. It should taste slightly salty. Stir in the rinsed rice. Bring to a simmer, then immediately drop the heat to the lowest setting. Cover tightly and cook for 25 to 30 minutes until the rice is tender and has absorbed the liquid.
- Serve: Fluff the tomato rice with a fork. Serve the rice on a large platter topped with the warm vegetables and fish. Squeeze fresh lemon juice over everything before eating.
Notes

- Substitutions: If you cannot find broken rice, jasmine rice is a perfect substitute. Just ensure you rinse it very well to remove excess starch.
- Doneness: Check your carrots and sweet potatoes with a fork. If they get soft before the 20-minute mark, remove them early so they do not fall apart in the broth.
- Spice guidance: Adding a whole habanero pepper gives the broth a beautiful floral aroma without extreme heat, as long as the pepper does not burst. If you want a mild dish, skip the pepper entirely.

