Malih is a traditional salted-and-sun-dried fish enjoyed across Saudi Arabia's coastal regions, especially the Eastern Province. Here the rehydrated fish is simmered with tomatoes and warm Gulf spices, then finished with fragrant basmati rice for a deeply savory, comforting one-pot meal. Serve it with fresh lemon and plain yogurt to balance the briny intensity.
Prep Time20 mins
Cook Time40 mins
Total Time60 mins
Servings4
Yield4 generous servings
Nutrition Facts
Per serving (estimated)
- 475 kcalCalories
- 13 gFat
- 5 gSaturated Fat
- 63 gCarbs
- 4 gFiber
- 5 gSugar
- 27 gProtein
- 1180 mgSodium
- 710 mgPotassium
- 135 mgCalcium
- 4.5 mgIron
- 18 mgVitamin C
- 90 mcgVitamin A
Ingredients
For the dried fish
- 400 g (14 oz) malih (dried salted fish), broken into bite-size pieces
- Warm water, for soaking
For the rice base
- 2 cups basmati rice, rinsed until water runs clear
- 3 cups water
- 2 tbsp ghee (or olive oil)
- 1 large yellow onion, finely chopped
- 4 garlic cloves, minced
- 1 tbsp fresh ginger, grated
- 2 medium tomatoes, finely chopped
For the spice blend
- 1 tsp ground turmeric
- 1 tsp ground cumin
- 1 tsp ground coriander
- 1/2 tsp ground dried black lime (loomi)
- 4 green cardamom pods, lightly crushed
- 1 small cinnamon stick
- 3 whole cloves
- 2 bay leaves
To finish and serve
- 1/4 cup fresh cilantro, chopped
- 1/4 cup fresh flat-leaf parsley, chopped
- 1 lemon, cut into wedges
- Plain yogurt, for serving (optional)
Directions
- Place the dried fish in a large bowl, cover with warm water, and soak for 4-6 hours, changing the water 2-3 times to draw out excess salt. Drain well, then flake the fish with your fingers, discarding any large bones and skin.
- Soak the rinsed basmati rice in cool water for 20 minutes, then drain. This helps the grains cook up long and separate.
- Heat the ghee in a large heavy pot or Dutch oven over medium heat. Add the cardamom, cinnamon stick, cloves, and bay leaves and toast for 30-40 seconds until aromatic.
- Add the chopped onion and cook for 5-6 minutes, stirring often, until soft and golden. Stir in the garlic and ginger and cook 1 minute more, taking care not to burn them.
- Add the tomatoes along with the turmeric, cumin, coriander, and ground black lime. Cook for 6-8 minutes, mashing with a spoon, until the tomatoes break down into a thick, fragrant sauce.
- Stir in the flaked dried fish and pour in the 3 cups of water. Bring to a gentle boil, then reduce the heat and simmer uncovered for 10 minutes so the fish infuses the broth. Taste and add salt only if needed—the fish is typically salty enough.
- Add the drained rice and stir once to distribute. Return to a boil, then reduce the heat to the lowest setting, cover tightly with a lid, and cook for 18-20 minutes without lifting the lid, until the rice is tender and the liquid is absorbed.
- Remove the pot from the heat and let it rest, still covered, for 10 minutes. Uncover, discard the cinnamon stick and bay leaves, and gently fluff the rice with a fork while mixing in most of the cilantro and parsley.
- Pile the rice onto a serving platter, scatter the remaining herbs over the top, and serve hot with lemon wedges and a bowl of cool plain yogurt on the side.
Cook’s Notes
- Soaking time depends on the saltiness and thickness of the fish; very dry, hard pieces may need 8-12 hours with extra water changes. The fish is ready when pliable and only lightly salty.
- Always taste the broth before salting—malih carries a heavy dose of natural sodium, and many batches will not need any added salt at all.
- For a heartier meal the Saudi way, add 1 medium potato, peeled and diced, along with the rice; it soaks up the broth beautifully.
- If you cannot find dried black lime (loomi), substitute a generous squeeze of fresh lemon at the end for a similar bright, tangy note.
- Use the freshest long-grain basmati you can find; Saudi-style rice dishes rely on fluffy, well-separated grains rather than sticky textures.










