
Ugali na Mchuzi wa Samaki
A hearty Tanzanian staple of firm white cornmeal porridge served alongside a fragrant coconut-and-tomato fish curry. This combination is beloved across Tanzania's coastal and inland regions alike.
About This Recipe
Ugali is the undisputed backbone of Tanzanian cuisine, a dense maize-flour porridge that anchors almost every meal. When paired with mchuzi wa samaki — a rich coastal fish curry simmered in coconut milk, tomatoes, and warming spices — it becomes a deeply satisfying feast that reflects the Swahili coast's centuries of Indian Ocean trade. Fishermen along Dar es Salaam's shores have served this pairing for generations, using whatever the morning catch brings in. The soft, flaky fish absorbs the curry beautifully, making each scoop of ugali a vehicle for bold, aromatic flavour.
Ingredients
Serves 4
- 2 cupswhite maize flour (ugali flour)
- 4 cupswater (for ugali)
- 1 tspsalt (for ugali)
- 600 gfirm white fish fillets (tilapia or snapper), cut into chunks
- 1 can (400 ml)coconut milk
- 2 mediumtomatoes, finely chopped
- 1 largeonion, finely diced
- 3 clovesgarlic, minced
- 1 tspfresh ginger, grated
- 1 tspground turmeric
- 1 tspground cumin
- 1 tspground coriander
- 1/2 tspcayenne pepper
- 2 tbspvegetable oil
- 2 tbspfresh cilantro, chopped
- 1 wholelime, juiced
- 1 tspsalt (for curry)
Instructions
- 1
Marinate the fish
Toss fish chunks with lime juice, turmeric, and a pinch of salt. Set aside for 15 minutes while you prepare the other components.
- 2
Build the curry base
Heat oil in a wide pan over medium heat. Add onion and cook until golden, about 8 minutes. Add garlic and ginger; cook 1 minute until fragrant. Stir in cumin, coriander, and cayenne.
- 3
Add tomatoes and coconut milk
Add chopped tomatoes and cook, stirring, until they break down into a thick paste, about 6 minutes. Pour in coconut milk, season with salt, and bring to a gentle simmer.
- 4
Simmer the fish
Carefully lower the marinated fish into the curry. Simmer uncovered for 10–12 minutes, turning once, until fish is cooked through and flakes easily. Stir in fresh cilantro.
- 5
Cook the ugali
While the curry simmers, bring 4 cups of salted water to a boil in a heavy pot. Gradually whisk in maize flour to avoid lumps. Reduce heat and stir vigorously with a wooden spoon for 8–10 minutes until the ugali pulls from the sides and is very stiff.
- 6
Serve
Wet a bowl and press ugali firmly into it, then invert onto a plate to create a neat mound. Ladle fish curry alongside. Serve immediately.
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.
Pro Tips
- →
Use a wooden spoon and stir continuously when adding flour to prevent lumps.
- →
Snapper, tilapia, or kingfish all work well — just avoid very delicate fish that will break apart.
- →
For a richer curry, replace half the coconut milk with coconut cream.
- →
Taste and adjust salt at the very end — flavors concentrate as liquids reduce, and a final pinch of flaky salt sharpens the whole dish.
Variations
- •
Substitute fish with prawns for mchuzi wa kamba.
- •
Add spinach or kale to the curry in the last 2 minutes for extra greens.
- •
Make ugali with cassava flour for a slightly different texture.
- •
Vegetarian: swap the protein for roasted king oyster mushrooms, smoked tofu or cooked chickpeas — adjust seasoning slightly upward to compensate.
Storage
Store curry separately from ugali in airtight containers in the refrigerator for up to 2 days. Reheat curry gently on the stove; ugali is best freshly made.
History & Origin
Ugali has been the cornerstone of East African cuisine for centuries, made from millet, sorghum, or maize depending on what was available. Maize ugali became dominant after the crop's introduction from the Americas in the 16th century. The fish curry tradition reflects the Swahili coast's deep ties to Arab, Indian, and Portuguese traders who brought spices and coconut-based cooking techniques that fused with local ingredients.
Frequently Asked Questions
How do I know when ugali is ready?
Ugali is ready when it pulls cleanly away from the sides of the pot and forms a smooth, very stiff mass. It should not feel wet or sticky.
Can I use canned fish?
Fresh fish is strongly preferred for flavour and texture. If using canned, add it only in the last 2 minutes of cooking just to heat through.
Can I make this ahead of time?
Yes — most of the components can be prepared up to a day in advance and refrigerated separately. Reheat gently and assemble just before serving so textures stay distinct.
What can I substitute if I don't have all the ingredients?
Stay close to the role each ingredient plays: swap aromatics for similar ones (shallot for onion, lime for lemon), and keep the fat-acid-salt balance intact. Spice blends can usually be approximated with what's in the cupboard.
Nutrition Facts
Per serving (480g / 16.9 oz) · 4 servings total
Time Summary
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:
More Tanzanian Recipes
You Might Also Like
Similar dishes from other cuisines around the world.
Free Kitchen Tools
Calculators and converters that pair with this page — no signup needed.
Put This Into a Plan
Schedule it, shop for it, and track what you already have.
Read Next
Longer reads that go deeper on the ideas behind this dish.
Community
Join the conversation
Sign in to leave a comment and save your favourite recipes