Urojo.
Zanzibar Mix Soup
Urojo · say it: oo-ROH-joh
Urojo arrives looking like a mistake: a thin, egg-yellow broth almost invisible beneath a landslide of fried potato fritters, boiled potato cubes, cassava crisps and green coconut chutney. Underneath all of it is a properly made soup — chickpea flour whisked into water to give body, turmeric for colour, and raw mango and lime for a sourness sharp enough to cut through everything fried that sits on top. Each spoonful is a different ratio of crunchy, soft and sour, and the crisps go soggy as you eat, which is the point rather than a flaw. It is Zanzibar's best-known street dish and the one that translates worst to a photograph.

- Gate
TanzaniaZanzibar- Prep
- 35 min
- Cook
- 40 min
- Total time
- 1 hr 15 min
- Serves
- 4
- Status
- Medium
- Nutrition / serving · estimated
- Calories 520 kcal
- Protein 12 g
- Carbs 62 g
- Fat 25 g
- Fiber 8 g
- Sodium 810 mg
Why this recipe works.
- Gives you a broth that actually holds together — the chickpea flour is cooked out properly rather than left raw and chalky.
- Balances the sourness with raw mango and lime added at different stages, the way stall cooks do it.
- Includes a workable potato bhajia batter instead of assuming you can buy them.
- Tells you the assembly order, which decides whether the crisps stay crunchy for the first few spoonfuls.
Ingredients.
21 itemsFor the broth
For the toppings
For the bhajia
For the coconut chutney
To assemble
Equipment
- Medium saucepan
- Whisk
- Deep pan or wok for frying
- Slotted spoon
- Small blender or mortar for the chutney
Instructions.
Mix the broth base
Whisk 60 g of chickpea flour into the cold water in a saucepan until no dry specks remain and the liquid looks like thin milk. Only then add the turmeric, cumin, garlic, ginger and chopped chilli.
Tip Cold liquid first, heat second. This is the whole trick to a lump-free urojo.
Cook the broth out
Set the pan over medium heat and bring to a simmer, whisking steadily until it thickens slightly and stops tasting floury, about 15 minutes. It should coat the back of a spoon in a thin film and pour like single cream.
Sour and season
Stir in the grated raw mango, the sugar and a good teaspoon of salt, and simmer for another 5 minutes. Add the lime juice off the heat and taste: the broth should be assertively sour, sharp enough that it seems slightly too much on its own.
Boil the potato cubes
Cook the cubed potatoes in salted water until a knife slides in cleanly but the edges still hold square, about 12 minutes. Drain and keep them warm.
Make the chutney
Blend the grated coconut, coriander, chilli, a pinch of salt and 3 tablespoons of water to a coarse green paste. It should be spoonable and grainy rather than smooth, and taste bright and grassy.
Batter and fry the bhajia
Whisk the remaining chickpea flour with the paprika, baking powder, a teaspoon of salt and enough water to make a batter that clings thickly to a potato slice without running off. Heat the oil to 170°C, dip the slices and fry in batches for 4 minutes, until pale gold and set.
Crisp them a second time
Raise the oil to 190°C and return the drained bhajia for 60 to 90 seconds, until the crust is deep gold and rattles against the side of the pan. Drain on paper and salt them while hot.
Tip Skip this step and the bhajia dissolve into the broth within a minute of hitting the bowl.
Assemble the bowls
Ladle the hot broth into four bowls, drop in the potato cubes, then pile on the bhajia. Spoon coconut chutney over the top, crumble crisps across the surface and finish with a squeeze of lime. Serve at once, while the crisps are still loud.
Tips from our kitchen.
- Whisk the chickpea flour into cold water before it goes anywhere near heat. Added to hot liquid it seizes into lumps that never fully disappear.
- Simmer the broth for at least 15 minutes after thickening. Undercooked chickpea flour tastes raw and dusty and coats the roof of your mouth.
- The broth should be thinner than you expect — closer to single cream than to soup. It thickens in the bowl once the fried things start absorbing it.
- Fry the bhajia twice if you want them to survive the soup: once at moderate heat to cook through, once hot and brief to crisp the shell.
- Assemble in this order: broth, boiled potato, bhajia, chutney, crisps, lime. Crisps go on last so they are still audible in the first mouthful.
- Taste for sourness right at the end, after everything else is seasoned. Urojo that is not sharp enough tastes flat no matter how much salt goes in.
Substitutions.
- Raw green mango → 2 tbsp tamarind pulp soaked and strained, or 1 tsp amchur (dried mango powder)
- All three are used in Zanzibar depending on the season. Tamarind is rounder and darker, amchur is sharper and keeps the broth a cleaner yellow.
- Cassava crisps → Plain salted potato crisps, crushed slightly
- Cassava crisps are sturdier and hold up longer in the broth, but potato crisps are what most people will actually have to hand.
- Homemade bhajia → Shop-bought onion bhaji, or crumbled falafel
- Not traditional, but the function is the same: something fried and starchy that soaks up broth. Warm them in the oven before they go in the bowl.
Variations.
- Urojo with mishkaki
- Many stalls will drop a grilled beef skewer into the bowl on request, which turns a snack into a full meal.
- With kachori
- Round spiced potato balls, fried in a besan coating, are the other standard topping — softer than bhajia and more filling.
- Bowl-your-own
- Serve the broth in a jug and the toppings in separate bowls, and let everybody build their own, which is how the stall actually works.
Storage & reheating.
The broth keeps 3 days refrigerated and reheats well, though it thickens as it sits and needs loosening with water. The toppings do not keep: fried bhajia go leathery overnight and crisps are only good fresh from the bag. Treat urojo as a make-ahead broth plus last-minute assembly, and never store an assembled bowl — within an hour it becomes a single soft mass. The coconut chutney holds for 2 days refrigerated in a sealed jar.
Serve with
Extra lime wedges and a bowl of pilipili sauce, so each person can push their bowl sourer or hotter as they go.
The story behind Urojo.
Forodhani Gardens is a strip of park on the Stone Town waterfront, in front of the old fort and the House of Wonders, and every evening it fills with food stalls that set up as the light goes. Urojo is the thing to eat there. Vendors keep a pot of the yellow soup on a burner and a table of components beside it, and the transaction is a negotiation: they ladle the broth, then ask, item by item, what goes in. Bhajia? Kachori? Crisps? Skewered meat? Coconut chutney? Pilipili? The bowl is assembled to order, which is why the same dish looks different in every photograph and why it is often just called Zanzibar mix.
The soup itself shows its ancestry plainly. Thickening a thin, spiced, sour broth with chickpea flour is a technique that belongs to the Gujarati and Kutchi kitchens that have been part of Stone Town for generations, and the fried besan-battered vegetables piled on top come from the same tradition. What Zanzibar added is the sourness of raw mango and tamarind rather than yogurt, cassava crisps instead of wheat snacks, and a coconut chutney that could only come from an island with coconut palms along every road.
This is also the one dish on the Zanzibari list that has not really travelled. Biriani, mishkaki and coconut rice are cooked all along the Swahili coast into Kenya, but urojo stays close to home — you find it in Zanzibar, and in Dar es Salaam where it is understood as a Zanzibari import rather than a local dish. Made at home it loses the theatre of the stall, but it gains something too: you can fry the bhajia thirty seconds before they hit the bowl, which is the one moment the street version cannot always manage.
Questions, answered.
What does urojo actually taste like?
Sour first, then savoury, then mildly spiced. The broth is tart from raw mango and lime, warm with turmeric and cumin, and slightly thick from chickpea flour, but it is not rich and not hot. Everything piled on top adds the fat and crunch, so the soup underneath is deliberately sharp to balance them.
Why is my broth lumpy?
The chickpea flour went into hot liquid. It must be whisked into cold or room-temperature water first to make a smooth slurry, then poured into the pot while stirring. If it has already gone lumpy, push the broth through a fine sieve and return it to the heat — it will be fine, just slightly thinner.
Can I make urojo vegan?
It already is, in the version most stalls sell. The broth, bhajia, potato, crisps and coconut chutney contain no animal products at all. The only things that would change that are optional meat skewers, which some vendors add on request but which are not part of the base dish.
How thick should the soup be?
Noticeably thinner than a Western soup — it should pour freely and coat a spoon only lightly, roughly the consistency of single cream. It thickens fast in the bowl as the fritters and crisps absorb it, so a broth that looks correct in the pot will be too stodgy by the time it reaches the table.
Can I prepare any of it in advance?
The broth and the coconut chutney can both be made a day ahead and refrigerated, and the potatoes can be boiled in advance too. Only the bhajia need to be fried close to serving. If you are feeding a group, reheat the broth while the last batch of bhajia drains, and set everything out for people to assemble themselves.
You might also like.
All recipes →Keep exploring Tanzania.
Tanzania has 9 more dishes in the atlas — Biriani ya Zanzibar and Chipsi Mayai, and 7 more.
Recipe by The DishRoute Kitchen · published August 20, 2026 · updated August 20, 2026