Kerala Fish Moilee with Butter-Poached Barramundi
Kerala Fish Moilee with Butter-Poached Barramundi is a refined take on the classic Kerala fish curry – coconut milk silk, tempered spices, and perfectly cooked fish that flakes at the touch of a fork
Recipe Overview Cuisine: Modern South Indian | Category: Main Course | Serves: 4 Prep Time: 25 minutes | Cook Time: 35 minutes | Total Time: 60 minutes
Why This Works
This Kerala fish moilee isn’t your standard fish curry where overcooked protein drowns in sauce. The French butter-poaching technique guarantees the fish stays pristine – flaking, moist, never chalky. Meanwhile, the moilee base gets built properly with bloomed whole spices and fresh coconut milk, not the canned stuff that tastes like metal. The genius move in this fish moilee recipe is cooking the fish separately and adding it at service. You get all the complexity of a slow-simmered Kerala curry with fish that actually tastes like fish. The curry leaves fried in ghee at the end aren’t garnish – they’re the aromatic punch that ties this moilee together. This is how you respect both the ingredient and the tradition.
Ingredients (Serves 4)
For the Fish:
- 800g barramundi fillets, skin removed, cut into 5cm pieces
- 200g unsalted butter
- 2 bay leaves
- 1 lemon, zested
- Coarse sea salt
For the Moilee Base:
- 400ml fresh coconut milk (first pressing)
- 200ml coconut cream
- 3 shallots (150g), sliced thin
- 4 green chilies, slit lengthwise
- 20g ginger, julienned fine
- 15 fresh curry leaves
- 1 tsp black mustard seeds
- 1 tsp turmeric powder (fresh if available)
- 2 tomatoes (200g), cut into wedges
- 2 tbsp coconut oil
- 1 tsp black peppercorns, cracked
- Salt to taste
For the Tempering:
- 2 tbsp ghee
- 12 fresh curry leaves
- 1 tsp mustard seeds
- 2 dried red chilies
For Service:
- Steamed jasmine rice
- Lime wedges
Method
Mise en Place (25 minutes)
Pat fish completely dry and season with salt 20 minutes before cooking – this draws out moisture for better texture. Prep all vegetables with a sharp knife – the julienned ginger needs to be hair-thin. Extract fresh coconut milk if making from scratch (worth it). Have your serving bowls warming in a 60°C oven. You’ll need a wide heavy-based pan for the curry, a deep saucepan for poaching, and a small pan for tempering.
Build the Moilee Base (10 minutes)
Heat coconut oil in your wide pan over medium heat until it shimmers. Add mustard seeds – they should pop within 5 seconds or your oil isn’t hot enough. Immediately add curry leaves and shallots. Cook until shallots turn translucent but not brown, about 4 minutes. Add ginger and green chilies, cook for another minute until fragrant. Stir in turmeric and cracked pepper, blooming them for 30 seconds. This sequence matters – each ingredient needs its specific cooking time to release its essential oils properly.
Develop the Curry (12 minutes)
Add tomatoes and cook until they just start to break down, about 3 minutes. Pour in coconut milk and cream, stirring gently to prevent splitting. Bring to a gentle simmer – never a hard boil or your coconut milk will break and look like cottage cheese in water. Simmer for 8 minutes, adjusting salt. The curry should coat the back of a spoon but still have movement. Remove from heat and keep warm.
Butter-Poach the Fish (8 minutes)
In your saucepan, melt butter with bay leaves and lemon zest over low heat – 60-65°C if you have a thermometer. The butter shouldn’t bubble. Carefully add fish pieces in a single layer. They should be completely submerged. Poach for 6-7 minutes, turning once halfway through. The fish is done when it barely flakes under gentle pressure. The center should be just opaque. This technique is foolproof – the low temperature means you can’t overcook the fish even if you’re distracted for an extra minute.
Execute the Tempering (2 minutes)
Heat ghee in a small pan until it starts to smoke. Add mustard seeds, curry leaves, and broken dried chilies. Let them splutter for 10 seconds – this releases the volatile oils that make curry leaves actually taste like something instead of decoration. Pour this immediately over the warm curry base. The sizzle is non-negotiable.
Final Assembly (3 minutes)
Gently lift fish from butter with a slotted spoon, letting excess drip off. Place portions in warmed bowls. Ladle the curry around, not over, the fish – we didn’t work this hard to hide it. Each bowl gets a proper share of the tempered oil on top.
What You Need to Know
The coconut milk quality determines everything here. Fresh is transformative, canned is acceptable if you buy the good Thai brands. Never use coconut milk powder – that’s not food. Temperature control on both the curry and the fish is what separates restaurant execution from home cooking mediocrity. The fish can hold in its butter bath at 60°C for up to 15 minutes without overcooking, giving you service flexibility. The curry base can be made 2 days ahead and reheated gently – just do the tempering fresh.
The Result
You’re looking for distinct layers of flavor, not a muddy fusion. First bite should hit you with the aromatic curry leaf and mustard seed oil, then the creamy coconut curry with its ginger-chili heat, finally the clean, buttery fish that melts apart in perfect flakes. The texture contrast between the silky curry and firm fish is the whole point. When the last grains of rice are mopping up curry from the bowl, you’ve nailed it.
Nutrition Information (Per Serving)
- Calories: 580
- Protein: 38g
- Total Fat: 42g (Saturated: 28g)
- Carbohydrates: 12g
- Fiber: 2g
- Sodium: 420mg
- Cholesterol: 165mg
Flavor Balance
Sweet (3/10): Natural sweetness from coconut milk and shallots provides the backdrop without cloying
Salty (4/10): Seasoned fish and curry base – salt amplifies all the other flavors without dominating
Sour (3/10): Tomatoes add subtle acidity, lime at service brightens everything
Bitter (2/10): Turmeric and curry leaves provide earthy baseline notes
Umami (6/10): Fish protein and butter combination creates substantial savory depth
Wine Pairing
Recommended: Clare Valley Riesling
Why: The precise acidity and lime-citrus notes in a Clare Valley Riesling cut through the coconut richness while the wine’s texture stands up to the curry’s weight. The subtle petrol notes that develop in Australian Rieslings actually complement the curry leaf and mustard seed aromatics. The wine’s bone-dry character prevents any sweetness overload with the coconut milk, while its mineral backbone echoes the oceanic quality of the barramundi.
Alternatives:
- Adelaide Hills Fiano: The textured, phenolic grip of Fiano handles the oil and spice while its stone fruit and herb notes play brilliantly with curry leaves. The wine’s natural salinity enhances the fish without competing.
- Tasmania Chardonnay (unoaked or lightly oaked): Cool-climate precision with enough weight to match the butter-poached fish. The citrus and white peach notes complement the coconut, while crisp acidity keeps everything fresh. Choose producers like Tolpuddle or Stefano Lubiana who show restraint with oak.