Skip to content
Thieboudienne (Senegalese Fish and Jollof Rice)
senegalesedinner✨ New

Thieboudienne (Senegalese Fish and Jollof Rice)

Senegal's national dish — broken jasmine rice cooked in a deeply spiced tomato and fish broth, served with whole stuffed fish, root vegetables and a tamarind sauce.

Prep
40 min
Cook
120 min
Servings
6
Difficulty
Hard
4.9
Sign in to rate
#senegalese#west-african#fish#rice#national-dish#tomato#one-pot

About This Recipe

Thieboudienne — pronounced 'chebu-jen' and meaning 'rice and fish' in Wolof — is the national dish of Senegal and the matriarch of West African one-pot rice cookery. The dish was reportedly invented in the 19th century by Penda Mbaye, a cook in the royal court of Saint-Louis, who improvised a one-pot fish and rice when broken rice from French colonial imports became abundant. Today it is the everyday Sunday lunch of millions, simmered for hours over wood charcoal in wide aluminum pots and served family-style on enormous round platters where everyone scoops with the right hand. The construction is layered: whole fish (red snapper, grouper or sea bass) are stuffed with a parsley-garlic-chili paste called rof, browned, then simmered with a thick tomato sauce of onion, garlic, scotch bonnet, tomato paste and yet, a fermented mollusk that gives the dish its signature funky depth. Root vegetables — cassava, sweet potato, carrot, eggplant, cabbage — cook in the same pot, soaking up flavor. The vegetables and fish are lifted out, then broken rice is poured into the remaining tomato broth and slowly simmered, untouched, until each grain is stained orange-red and a layer of crisp golden crust (xoon) forms at the bottom of the pot — the most prized part. Served with a sharp tamarind sauce on the side and a glass of bissap, thieboudienne is an institution.

Ingredients

Serves 6

  • 1 largewhole red snapper or sea bass (about 1.2 kg), cleaned, cut into 4 cm thick steaks
  • 1 large bunchflat-leaf parsley
  • 6garlic cloves
  • 1scotch bonnet or habanero (or 2 for true Senegalese heat)
  • 1small green chili
  • 2 tspsalt, plus extra
  • 120 mlneutral oil
  • 2 largeonions, finely chopped
  • 200 gtomato paste
  • 2large fresh tomatoes, diced
  • 1 tbspyet or netetou (fermented mollusk or locust bean) — optional but very traditional
  • 1smoked dried fish or shrimp, soaked 10 minutes (optional)
  • 1 smallcabbage, cut into 6 wedges
  • 2carrots, halved
  • 2sweet potatoes, peeled and halved
  • 1 smallcassava (yuca), peeled and cubed
  • 1 smalleggplant, halved
  • 2small turnips, halved
  • 500 gbroken jasmine rice (Thai broken rice), rinsed
  • 1.5 Lwater
  • to serve: tamarind sauce (or lemon wedges)

Instructions

  1. 1

    Make the rof and stuff the fish

    In a mortar or food processor, pound or blend the parsley, 4 garlic cloves, scotch bonnet, green chili and 1 tsp salt to a coarse green paste. With a sharp knife, cut deep slits into the flesh of each fish steak and stuff generously with rof. Reserve any leftover paste for the broth.

  2. 2

    Brown the fish

    Heat the oil in a wide heavy pot or large Dutch oven over medium-high heat. Brown the fish steaks 90 seconds per side just to seal — they'll finish cooking in the broth. Lift out carefully and set aside.

  3. 3

    Build the tomato base

    In the same oil, soften the onions over medium heat 8 minutes until pale golden. Stir in the tomato paste and fry 4 minutes — this caramelizes the tomato and is essential for deep flavor. Add the diced fresh tomato, remaining garlic minced, yet and dried fish (if using), and the rest of the rof paste. Cook 5 more minutes.

  4. 4

    Add water and simmer

    Pour in the water, bring to a simmer and season with salt. The broth should taste vivid, slightly spicy and tomato-rich. Slip the browned fish back into the broth and simmer gently 12 minutes until just cooked through. Lift the fish out carefully, cover and set aside.

  5. 5

    Cook the vegetables

    Add the hardest vegetables to the broth first — cassava, sweet potato, turnip — and simmer 15 minutes. Then add cabbage wedges, carrots and eggplant; cook another 15 minutes until everything is tender. Lift out all vegetables with a slotted spoon onto a platter, cover and keep warm.

  6. 6

    Cook the rice

    Taste the broth — it should be quite salty and intensely flavored, because the rice will absorb a lot. Adjust if needed. Pour the rinsed broken rice into the pot. The liquid should sit about 2 cm above the rice — add water or remove some broth as needed. Bring to a boil, reduce heat to very low, cover and cook 25 minutes without stirring.

  7. 7

    Form the xoon

    Uncover after 25 minutes — rice should be tender and the bottom should have a golden crust forming. Pull off the heat, cover with a clean cloth, and let rest 10 minutes. This rest finishes the rice and sets the prized xoon at the bottom.

  8. 8

    Plate and serve

    Mound the rice (broken into clumps so you preserve the xoon) on a huge platter. Arrange fish and vegetables on top, scattering the crispy xoon over the surface. Serve with tamarind sauce, lemon wedges and a glass of bissap (hibiscus) or kinkeliba tea. Eat communally.

Did you make this?

Rate it and help other cooks find the recipes that actually work.

One tap to sign in, and we'll save the rating you just picked.

Everything you need to plan your week — free

  • Meal calendar
  • Grocery list
  • AI recipe ideas

Track what you eat

Snap your meal to log calories and macros, run fasting timers and track water in the free SnapCal app.

Download Now

Pro Tips

  • →

    Broken rice is essential — it absorbs broth differently than whole-grain rice and gives the proper texture. Sold in Asian markets as Thai broken jasmine.

  • →

    Yet (fermented mollusk) and netetou (fermented locust bean) are deeply funky and define the flavor. African groceries stock them; without, increase tomato paste and add a teaspoon of fish sauce.

  • →

    Form the xoon by leaving the rice undisturbed once it goes in the pot. Don't stir, don't peek. The crisp bottom is the most prized part.

  • →

    A wide heavy-bottomed pot (Le Creuset, big Dutch oven) helps form xoon evenly. Avoid thin pots — they scorch.

Variations

  • •

    Thiebou yapp — beef instead of fish, a hearty meat version.

  • •

    Thieb bou wekh — white thieb without tomato paste, made for funerals and somber occasions.

  • •

    Mauritanian variation — slightly less spicy, more cumin and dried lime in the broth.

  • •

    Quick weeknight thieb — skip the whole fish; use 4 firm white fillets added in the final 8 minutes of broth cooking.

Storage

Stew keeps 3 days refrigerated; reheat gently to preserve the rice texture. Xoon does not survive storage — eat fresh. Do not freeze (rice texture suffers).

History & Origin

Thieboudienne was reportedly invented in the mid-19th century by Penda Mbaye, a cook in the royal court of Saint-Louis in northern Senegal, who improvised a one-pot rice and fish when French colonial trade made broken rice abundant. UNESCO inscribed thieboudienne on its Intangible Cultural Heritage list in 2021, recognizing it as a cornerstone of Senegalese identity.

Frequently Asked Questions

Can I use long-grain rice instead of broken?

Broken rice absorbs differently and is meant for the dish. Long-grain works in a pinch but the texture is wrong — it stays too separate and won't form the xoon properly.

How spicy should it be?

Authentic versions are quite hot — one scotch bonnet for 6 servings is moderate. Reduce or seed the chili for less heat, but don't omit entirely — heat is part of the dish.

What if I can't find tamarind sauce?

Mix 2 tablespoons tamarind paste with 1 tablespoon honey, 1 tablespoon fish sauce, juice of half a lemon and a pinch of chili. Excellent stand-in.

Is the xoon really necessary?

It is the most prized part of the dish in Senegal — the equivalent of Persian tahdig or Spanish socarrat. Don't skip the resting step that forms it.

Nutrition Facts

Per serving (580g / 20.5 oz) · 6 servings total

Calories680kcal
Protein38g
Carbohydrates92g
Fat16g
Fiber8g
Protein38g
Carbs92g
Fat16g

Time Summary

Prep time40 min
Cook time120 min
Total time160 min

Have Questions?

Ask our AI cooking assistant anything about this recipe — substitutions, techniques, scaling.

Chat with AI Chef →

Featured in Guides

This recipe is featured in the following curated guides:

Community

Join the conversation

Sign in to leave a comment and save your favourite recipes