Thieboudienne
Ceebu jën
Senegal's national dish: fish stuffed with parsley and garlic, braised with tomato and vegetables, then rice cooked in the red broth.
Recipe by I Want Some Food · Reviewed by the editorial kitchen. Native name preserved: Ceebu jën.
- Prep
- 40 min
- Cook
- 1 hr 40 min
- Rest
- None
- Total
- 2 hr 20 min
- Difficulty
- A bit of work
- Spice
- Medium heat
- Cost
- A bit special$16–28 USD · indicative, not a store price

About
Thieboudienne is rice and fish, cooked in stages in one pot. Thick fish steaks are slit and stuffed with rof, a paste of parsley, garlic, chilli and stock cube, then fried. Onion and tomato purée are fried down in the same oil, water goes in, and the fish is braised with cabbage, carrot, sweet potato, aubergine and okra until everything is tender. The fish and vegetables come out; broken rice goes into the red broth and cooks until it drinks it all. The rice is piled on a platter with the fish and vegetables arranged on top. Done well, the bottom of the rice catches into a crust called xoñ, which is fought over.
What you'll need
22 ingredients. Tap each one once it's out on the bench.
- Fish
- Rof stuffing
- Broth
- Vegetables
- Rice
- To serve
- Ingredients
Ingredients
Fish
- Firm white fish, thick bone-in steaks of grouper, bream or hake1 kg
Rof stuffing
- Parsley, leaves and thin stems1 bunch
- Garlic5 clove
- Bouillon cubes, one in the rof, one in the broth2
- Black pepper4.9 ml
Broth
- Neutral oil150 ml
- Onion, finely chopped2 large
- Tomato purée44 ml
- Tomato, blended300 g
- Water1½ l
Vegetables
- Cabbage, one wedge, core left in so it holds300 g
- Carrot, halved lengthways2 large
- Sweet potato, peeled, in 3 large pieces1 medium
- Eggplant, quartered1 medium
- Okra, whole100 g
- Scotch bonnet, whole, for the broth (optional)1
Rice
- Rice, broken rice, or jasmine rice pulsed briefly in a blender500 g
Ingredients
- Salt9.9 ml
Scaling multiplies the written quantities. Baking still prefers a scale.
Steps
Step 1
Pound or blend the parsley, garlic, scotch bonnet, spring onion, one stock cube and the pepper into a coarse green paste. Cut a deep pocket into each fish steak and pack it with rof. Rub any extra over the fish and salt it.
15 min
Step 2
Heat the oil in a wide heavy pot. Fry the fish 3 minutes a side until the outside is set and golden. Lift out carefully.
10 min
Watch: The fish will finish cooking in the broth. Do not cook it through now or it falls apart later.
Step 3
In the same oil, soften the onion for 6 minutes. Add the tomato purée and fry, stirring, until it darkens, 4 minutes. Add the blended tomato and cook 5 minutes more.
15 min
Step 4
Pour in the water, add the second stock cube, salt and the whole chilli. Bring to a boil. Add the cabbage, carrot, sweet potato and aubergine. Simmer 15 minutes, then return the fish and add the okra. Simmer 15 minutes more until everything is tender.
32 min
Step 5
Lift out the fish and all the vegetables onto a tray and keep warm, covered with foil. Measure the broth: you need about 900 ml for the rice. Ladle any extra into a bowl and keep it for the table.
5 min
Tip: The reserved broth, with tamarind stirred in, is poured over the rice as a sauce when serving.
Step 6
Wash the rice and steam it over the simmering broth for 10 minutes in a colander or steamer basket, covered. This parcooks it so it stays separate.
10 min
Step 7
Stir the steamed rice into the 900 ml of broth. Cover tightly, foil under the lid, and cook on the lowest heat for 25 minutes until the liquid is absorbed. Let the bottom catch for the last 3 minutes on a slightly higher heat.
28 min
Watch: Do not stir once the rice is in. Lift the lid once at 20 minutes to check it is not dry; add a splash of hot water if it is.
Step 8
Pile the rice on a wide platter. Arrange the fish in the centre and the vegetables around it. Scrape the crust from the pot and put it on the side. Serve with lime wedges and the reserved broth.
5 min
Nutrition
Per serving · estimate
- Calories
- 624 kcal
- Protein
- 41.4 g
- Carbs
- 57.2 g
- Fat
- 26.5 g
- Saturated fat
- 2.9 g
- Fibre
- 8.3 g
- Sugar
- 14.2 g
- Sodium
- 1408 mg
Calculated from canonical ingredient data (USDA FoodData Central averages and equivalent published tables). Estimates only.
Allergens
Informational only. Not a medical guarantee. Cross-contamination happens in real kitchens.
- Fish
- Pescatarian
- Dairy-free
- Gluten-free
- Nut-free
Adapt this recipe
The original recipe stays as it is. Personal versions are labelled. Serving changes are simple maths.
Adaptations · 0 / 15 used. Resets 12 November.
Substitutions
White fish steaks → Whole small sea bream, cleaned
Stuff the belly cavity with rof instead of a pocket. Reduce braising time to 20 minutes.
Tips
- Broken rice is sold in Senegalese and Vietnamese shops. If you cannot find it, pulse jasmine rice in a blender for 2 seconds to break the grains. It absorbs the broth better than whole grains.
- A tablespoon of fish sauce in the broth gets you some of the way to guedj.
- Senegalese cooks fry the sweet potato and aubergine separately for a browner result. It is a step more and worth it if you have time.
History & culture
Ceebu jën is lunch, the main meal of the Senegalese day, eaten from a shared platter with the right hand or a spoon, each person working their own section. The cook distributes the vegetables and fish around the rice so everyone gets a share. It is on UNESCO's intangible heritage list and in every household and restaurant in Dakar and Saint-Louis.
Attributed to Penda Mbaye, a cook in nineteenth-century Saint-Louis, who used rice when the grain shortage pushed the French colony to import broken rice from Indochina. Broken rice stayed the preferred grain. The dish is the ancestor of jollof across West Africa.
Traditional — Senegalese cooks add guedj (fermented dried fish) and yet (fermented sea snail) to the broth for depth. They are hard to find abroad and are left out here; a spoon of fish sauce can stand in. Thiof (white grouper) is the classic fish; any thick firm white fish works.
Provenance: Editorial adaptation.
Questions about this recipe
Answers taken from this dish's times, amounts, swaps and tips.
How long does Thieboudienne take?
2 hr 20 min all in — 40 min prep, 1 hr 40 min cook. Cook and rest follow the method. Leftover storage and optional extra waits are not included.
How many does it serve?
The recipe is written for 6 people. Scale the ingredient list on the page if you are cooking for a different number.
How hard is it?
A bit of work.
How spicy is it?
Medium heat.
What allergens should I watch?
This recipe is labelled for Fish. Labels are informational — check the packets in your kitchen. This is not medical advice.
Does it fit a diet?
The published recipe is labelled Pescatarian, Dairy-free, Gluten-free, Nut-free.
7 more questionsFewer questions
What does it cost to cook?
A bit special — about $16–28 USD, as a grocery budget for this recipe, not a restaurant price.
What equipment do I need?
Dutch oven, Blender, Chef's knife, Cutting board.
How much salt do I put in?
The recipe lists Salt at 2 tsp.
What can I use instead?
White fish steaks → Whole small sea bream, cleaned. Stuff the belly cavity with rof instead of a pocket. Reduce braising time to 20 minutes.
What should I watch for?
The fish will finish cooking in the broth. Do not cook it through now or it falls apart later. Do not stir once the rice is in. Lift the lid once at 20 minutes to check it is not dry; add a splash of hot water if it is.
Any tips from this recipe?
Broken rice is sold in Senegalese and Vietnamese shops. If you cannot find it, pulse jasmine rice in a blender for 2 seconds to break the grains. It absorbs the broth better than whole grains. A tablespoon of fish sauce in the broth gets you some of the way to guedj. Senegalese cooks fry the sweet potato and aubergine separately for a browner result. It is a step more and worth it if you have time.
Can I use an air fryer?
This method is not written for an air fryer. The core technique on the page still applies.
Similar dishes

Jollof rice
Nigerian party rice cooked in a fried-down tomato, pepper and scotch bonnet base until the grains stain red and the bottom catches.
MediumMedium heat

Paella
A wide-pan rice from Valencia — saffron, sofrito, and a toasted bottom. Not a dumping ground for every seafood in the shop.
A bit of work

Poulet yassa
Yassa ginaar
Senegalese chicken marinated in lemon, onion and mustard, grilled, then braised in a heap of slow-cooked onions.
Easy

Mafé
Maafe
Senegalese peanut stew of beef with tomato, sweet potato, carrot and cabbage in a thick groundnut sauce, over rice.
Easy


