Senegalese fish and rice, often called thieboudienne or ceebu jën, is a one-pot meal of fish, vegetables, and rice cooked in a deeply seasoned tomato broth. This home-cook-friendly version uses firm fish and familiar vegetables, with optional fermented fish for a more traditional savory note; regional and family recipes vary in their fish, vegetables, and seasonings.
Ingredients
- 2½ lb (1.1 kg) firm white fish, such as grouper, snapper, hake, or cod, cut into 6 portions; use skin-on pieces if available
- 3 cups (570 g) broken rice, or parboiled long-grain rice as a practical substitute
- 1 packed cup (30 g) fresh parsley leaves
- 4 scallions (60 g), roughly chopped
- 5 garlic cloves (25 g), peeled
- 1 small hot chili (5–10 g), stemmed; remove the seeds for less heat
- 1 teaspoon (2 g) black pepper
- 1 teaspoon (6 g) fine salt, plus more to season
- ½ cup (120 ml) neutral oil, such as canola or sunflower oil
- 2 medium onions (300 g), finely chopped
- 3 tablespoons (45 g) tomato paste
- 2 cups (360 g) chopped ripe tomatoes, fresh or canned
- 8 cups (1.9 L) water, plus a little more if needed
- 2 medium carrots (200 g), peeled and cut into thick pieces
- 1 small green cabbage (about 500 g), cut into 6 wedges, keeping the core attached
- 1 small eggplant (250 g), cut into large chunks
- 1 medium green bell pepper (150 g), quartered and seeded
- 2 tablespoons (30 g) tamarind paste
- 1 small piece (about 28 g) dried fermented fish, such as guedj, optional; or use 1 teaspoon (5 ml) fish sauce
- 2 dried bay leaves (about 0.5 g)
- 1 teaspoon (5 g) additional salt for the broth, then adjust to taste
Instructions
- Rinse and prepare the rice. Put the rice in a bowl, cover it with cool water, and swirl it with your fingers. Drain and repeat until the water is less cloudy, usually three or four rinses. If using broken rice, handle it gently so you do not wash away too many small pieces. Set it aside in a strainer while you prepare the fish and vegetables. Rinsing removes loose surface starch and helps the grains cook more evenly.
- Make the herb seasoning and season the fish. In a mortar, pound the parsley, scallions, garlic, chili, black pepper, and 1 teaspoon salt into a coarse paste. A small food processor also works; pulse rather than blend to a smooth liquid. Pat the fish dry. If the portions are thick, make one or two shallow cuts in the skin or flesh, taking care not to cut through. Rub about half of the paste over the fish and into the cuts. Keep the seasoned fish refrigerated while you start the broth; reserve the remaining paste for the pot.
- Build the tomato base. Heat the oil in a large, heavy pot over medium heat. Add the onions and cook for about 5 minutes, stirring, until softened but not deeply browned. Stir in the tomato paste and cook for 2 minutes, then add the chopped tomatoes and reserved herb paste. Cook for 3 minutes, stirring and scraping the bottom so the paste does not scorch. The mixture should look glossy and smell fragrant. If it begins to stick, lower the heat and add a small splash of water.
- Simmer the vegetables. Pour in the 8 cups (1.9 L) water. Add the carrots, cabbage, eggplant, bell pepper, bay leaves, tamarind, fermented fish if using, and 1 teaspoon salt. Bring the pot to a steady boil, then reduce the heat to maintain a lively simmer. Cover partly and cook for 20 minutes, turning the vegetables once if needed. They should be starting to soften but still hold their shape, since they will cook a little longer later. Taste the broth carefully; it should be well seasoned, as the rice will absorb much of its flavor.
- Poach the fish and remove the vegetables. Lower the fish portions gently into the simmering broth. Cook uncovered for about 10–12 minutes, turning once only if the pieces are sturdy. Check the thickest piece with an instant-read thermometer; the USDA FSIS safe minimum internal temperature for fish is 145°F (63°C). Transfer cooked fish to a clean platter, and use a slotted spoon to lift out the vegetables. Cover them loosely to keep warm. Handle the fish gently, because it can flake as it cools.
- Measure the cooking broth. Ladle or carefully pour the broth through a strainer into a heatproof bowl, pressing the tomato mixture lightly to capture its flavor. Measure 6½ cups (1.5 L) broth back into the pot. If there is less, top it up with hot water; if there is more, reserve the extra for adjusting the rice or serving. Taste the measured broth and add salt if necessary. The right balance here matters more than adding extra salt later: the rice should taste savory without the broth being unpleasantly salty.
- Cook the rice in the broth. Bring the measured broth to a boil, stir in the drained rice, and return it to a simmer. Cover tightly and turn the heat to low. Cook for about 25–27 minutes, checking once near the end. If using broken rice, it should be tender and the liquid mostly absorbed; parboiled long-grain rice may need a few extra minutes. If the rice is still firm and the pot is dry, add hot water ¼ cup (60 ml) at a time, cover, and continue cooking. Avoid frequent stirring, which can make the rice sticky and break up the grains.
- Rest and serve. When the rice is tender, turn off the heat and leave the pot covered for 10 minutes. Fluff gently with a fork. Arrange the rice on a large platter, then place the fish and vegetables on top or serve them alongside. Spoon a little reserved broth over the fish and vegetables, and offer any remaining broth at the table.
Tips
- Choose fish that holds together. Thick steaks or firm fillets are easier to lift from the broth than very delicate fish. If your fish has bones, let diners know; removing pin bones before cooking makes serving simpler.
- Use the traditional ingredient if you can find it. Guedj is dried, fermented fish that contributes a pronounced salty, savory flavor. It is optional, and fish sauce is a convenient substitute, but the broth will be less complex. Add fish sauce cautiously and taste before adding more salt.
- Adjust the heat without changing the method. A whole chili gives a gentle background warmth; sliced chili makes the broth hotter. For a mild pot, leave the chili out and serve sliced fresh chili separately.
- Keep the rice from turning gummy. Rinse it, use the measured broth, and keep the lid on while it cooks. Rice types absorb liquid differently, so check for tenderness near the end and add hot water in small amounts only if necessary.
Serving Suggestions
Serve thieboudienne family-style on a broad platter, with the rice underneath and the fish and vegetable pieces arranged over it. Include a spoon so guests can add some of the tomato broth, especially if they like moist rice. A simple cucumber and tomato salad, sliced onion dressed with lemon, or lightly dressed leafy greens provides a fresh contrast to the rich, savory pot. Lemon or lime wedges are useful at the table, though they are not a replacement for seasoning the broth.
For a more traditional-feeling spread, offer a small dish of hot chili sauce and let each person choose how much heat to add. The dish is filling on its own, so extra sides can stay simple. If serving a whole fish or bone-in portions, provide plates for bones and let guests know which pieces have them.
Variations
Vegetables vary from pot to pot. Turnip, pumpkin, cassava, or sweet potato can replace or supplement some of the listed vegetables; cut firmer roots into manageable pieces and allow them to simmer until just tender. Keep the total amount close to the recipe so the pot does not become crowded. If using a vegetable that cooks quickly, add it later than the carrots and cabbage.
Broken rice is customary in many versions and gives the dish a soft, cohesive texture. Parboiled long-grain rice is easier to find and tends to remain more separate, so check it near the end and expect its cooking time to vary slightly by brand. Do not substitute quick-cooking or instant rice without changing the method, since it can become overcooked during the broth simmer.
You can leave out the fermented fish for a milder, more widely accessible broth, or use a small amount of fish sauce instead. For a different fish choice, use another firm white fish of similar thickness. Avoid thin, delicate fillets in the long simmer; poach those separately in a little broth and add them only when they reach 145°F (63°C). This keeps them from breaking apart while the vegetables and rice finish.
Storage and Reheating
Refrigerate leftovers within 2 hours of cooking, preferably divided between shallow, covered containers so they cool promptly. Store the fish, vegetables, and rice together or separately; cooked fish and rice keep for 3–4 days in the refrigerator. If the room is very warm, do not leave the platter out while people serve themselves for an extended period—put it away promptly.
For best texture, reheat only the amount you plan to eat. Add a tablespoon or two of water or reserved broth to the rice, cover, and heat in a saucepan over low heat or in a microwave-safe dish until steaming hot throughout. Reheat fish and vegetables gently with a splash of broth so they do not dry out. Leftovers should reach 165°F (74°C) when reheated; check the center with a food thermometer. You can freeze portions in airtight containers for about 2 months for best quality, although the vegetables may soften and the rice may lose some of its original texture after thawing. Thaw overnight in the refrigerator and reheat thoroughly.
Frequently Asked Questions
What does thieboudienne mean?
Thieboudienne, also written ceebu jën, is commonly translated from Wolof as “rice and fish.” The name refers to a Senegalese dish with many regional and household variations, rather than one fixed list of vegetables or seasonings.
Can I make this with frozen fish?
Yes. Thaw it safely in the refrigerator before seasoning, then pat it dry so the herb paste adheres. If you use fish straight from frozen, it can release extra water and cook unevenly in the broth, so thawing first gives you better control. Check the thickest portion for 145°F (63°C) before serving.
Can I prepare any part of the recipe ahead?
You can rinse and drain the rice shortly before cooking, chop the vegetables, and make the herb paste several hours ahead. Keep prepared ingredients covered and refrigerated, and keep raw fish separate from ready-to-eat foods. For the best rice texture, cook the rice close to serving time; reheated rice is convenient but will be softer.
Why is my rice still hard or too wet?
Hard rice usually needs a little more liquid or a few more minutes over low heat. Add hot water in small splashes, cover tightly, and check again after several minutes. If it is wet but tender, uncover it briefly over low heat to let excess moisture evaporate. Different rice types and pot lids affect how much liquid remains, which is why the recipe includes a doneness check rather than relying only on the clock.
Can I use another kind of rice?
Broken rice gives a soft texture, while parboiled long-grain rice stays more distinct and is a practical alternative. Ordinary long-grain rice may also work, but it can need less liquid or a shorter cooking time. Start checking early, follow the package guidance as a reference, and keep a little hot water nearby in case the grains need more time.
Related
- Nigerian Jollof Rice Ingredients and How to Cook It
- Nigerian Native Rice with Palm Oil and Smoked Fish
- Nigerian Fried Rice Ingredients: A Complete Recipe
More recipes to cook
Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes
Spotted an error? Tell us and we will correct it (corrections policy).