Main Course

Machi Bhat Recipe (Coconut Fish with Rice)

Machi Bhat Recipe (Coconut Fish with Rice)

Machi Bhat Recipe (Coconut Fish with Rice)

Prep Time 15 minutes
Cook Time 30 minutes
Total Time 45 minutes
Cuisine Pakistani
Servings 4
Calories 250 kcal


  • 250 gm Fish Fillets
  • 2 Onions
  • 3 Potatoes
  • 2 Green Chillies
  • ¼ tsp Garlic Paste
  • ¼ tsp Ginger Paste
  • ½ cup Coconut Milk
  • 3 Tomatoes
  • 1 tsp Tomato Puree
  • ¼ tsp Turmeric Powder
  • 1 tsp Red Chilli Powder
  • 1 tsp Coriander Powder
  • 1 tsp Cumin Powder
  • ½ tsp Garam Masala
  • Lemon Juice
  • A Pinch of Saffron
  • ½ tsp Whole Pepper
  • 1 tsp Cumin Seeds
  • 2 Cardamom
  • 2 Cloves
  • 1 Cinnamon Stick
  • Salt to taste
  • 11/2 cups Basmati Rice
  • Chopped Coriander For Garnishing


  • Fish Fillet, cut into 3 inch cubes (marinate this in a paste of 1 tsp red chilli powder, half tsp salt, quarter tsp garlic paste and juice of half a lemon)
  • Fry the fish pieces in oil until they are slightly brown on the outside but not totally cooked through. Remove and place on kitchen towels to blot.
  • Add a drop of yellow/orange colour to the potato quarters. Toss them to make sure the color coats all of them evenly.
  • Heat some oil, fry the potato quarters on low heat until sealed on the outside and soft on the inside…you can test this by sticking the tip of a knife into the potato quarters. Remove them from the oil and set them aside.
  • Add the onions and fry until golden. Remove them on some kitchen towels and set aside.
  • Add the whole spices into the oil, when they start to splutter, add the green chilies, garlic and ginger…followed by the grated tomatoes plus tomato paste and cook them down until all the water dries up.
  • Add half of the fried onions (crush them slightly). Cook for a few minutes, stirring regularly.
  • Add the salt, powdered spices and half of the soaked saffron.
  • Cook together for a few minutes. You can now add the fried potatoes, mix them in then add the coconut milk. 
  • Simmer on low heat, stirring regularly for about 10 minutes. You can add a bit of water/milk for extra gravy if you like, or if you find that it is drying out too quickly.
  • Lastly, add the fish pieces and garam masala. Stir together gently and turn off the heat.

Prepare The Rice:

  • Bring a big pot of water to boil, add 2 tbsp. of salt, 1 cinnamon stick, 1 cardamom pod and 1 tbsp. of oil plus some yellow/orange colouring to give our rice a nice yellow colour, as this dish is known for its yellow rice.
  • Drain the soaked rice and add it into your boiling water, simmer on medium heat, giving the rice a stir every few minutes to make sure the grains don’t clump together.
  • As the rice boils, check and see if there is enough colour in there. Remember all the water will be drained out, so you are checking for the actual grains to have taken some colour.
  • Once the grains are long and about done (they should crush when pressed gently between the thumb and finger), then drain the rice in a big strainer and pass a bit of tap water over the rice to stop the cooking process so they don’t get over-cooked.
  • Return half the rice back into your pot and pat it down neatly, then add the gravy and sprinkle the remaining fried onions and a bit of chopped coriander
  • Add the remainder of the rice and drizzle the saffron water and a bit of oil on top.
  • Then cover using a tight lid. If you don’t have a tight lid you can wet a big brown paper (grocery bag will do) and cover the pot, then place your lid over this just to hold it down. Put on the stove on very low heat for about 10 minutes.
  • When ready to serve, squeeze in some lemon juice and gently mix everything together so the gravy is well combined with the rice.
  • Garnish with some more chopped coriander.

Leave a Reply

Your email address will not be published. Required fields are marked *

Recipe Rating