Authentic Thai Fish Cake Recipe: Crispy Celery Crust and Herby Yolk Streaks

Main Courses

Authentic Thai Fish Cake Recipe: Crispy Celery Crust and Herby Yolk Streaks

This authentic Thai fish cake recipe delivers the crispy celery crust and herby yolk streaks that define Tod Mun Pla—a dish that transports you straight to Thailand’s bustling street markets. The secret lies in blending fresh white fish with aromatic herbs, rice flour, and coconut milk, then shaping into delicate cakes that steam to tender perfection before achieving that signature golden crust. I’ve perfected this recipe through years of testing, ensuring every bite captures the balance of textures and flavors that make it a Thai classic.

The recipe begins with a delicate paste of white fish, lemongrass, galangal, and kaffir lime leaves—key ingredients that give these cakes their signature aromatic depth. Unlike many adaptations, this version stays true to traditional methods, using rice flour for binding and coconut milk for richness. The celery crust isn’t just for show; it adds a satisfying crunch that contrasts beautifully with the soft, flaky interior. For an extra touch of authenticity, I include optional pan-frying to achieve that crispy exterior without compromising the tender center.

What sets these fish cakes apart is the way the egg yolk streaks through the center when sliced, creating a visual and textural masterpiece. Served with sweet chili sauce or cucumber relish, they’re the perfect balance of savory, spicy, and fresh. Whether you’re recreating a Thai street food experience or adding an authentic touch to your dinner table, this recipe delivers restaurant-quality results at home.

Southern Thailand’s version often includes more chili heat, while Northern styles might feature additional herbs like Thai basil. Both methods are foolproof once you master the steaming technique—just 20 minutes to transform simple ingredients into a dish that’s crispy, fragrant, and impossible to resist. Let’s get cooking!

👨‍🍳
Difficulty
Medium
🐟
Diet
Seafood
🔥
Calories
Med Cal

Ingredients for authentic thai fish cake

Fresh fish, aromatic herbs, and delicate rice flour transform into crispy Thai street food perfection.

Ingredient Amount Notes
White Fish Fillets 🐟 1 ½ lb Firm white fish like cod or snapper
Celery Stems 🧅 3 whole Finely minced for crust
Lemongrass 🌿 3 cloves White part only, finely chopped
Galangal 🌿 2 oz Peeled, finely minced
Kaffir Lime Leaves 🍋 4 whole Stems removed, finely chopped
Eggs 🥚 2 whole Room temperature for binding
Rice Flour 🌾 ½ cup For delicate texture
Coconut Milk 🥥 ½ cup Full-fat for richness
Fish Sauce 🍶 1 tbsp Red Boat preferred
Sugar 🍚 1 tsp Balances flavors
Salt 🧂 ½ tsp Diamond Crystal preferred
Vegetable Oil 🫒 2 tbsp For pan-frying
Thai Chili 🌶️ 1 whole Optional, sliced for heat

The fish is the foundation—look for firm white varieties like cod or snapper at your local seafood counter. Whole Foods or Asian markets often carry the freshest options, but any reputable fishmonger will have quality fillets. Galangal and kaffir lime leaves are the aromatic stars here—Thai markets or specialty grocers are your best bet for freshness. If you can't find them, freeze the whole root/leaves until needed. The celery should be crisp with no brown spots, and the lemongrass should smell citrusy and bright. For the fish sauce, Red Boat is the gold standard—its umami depth makes all the difference in that signature Thai flavor.

No galangal? Substitute ginger at half the amount, though it won't be identical. Kaffir lime leaves unavailable? Dried lime zest plus a pinch of lime juice works in a pinch. The rice flour is non-negotiable—it creates that delicate, flaky texture. Bob's Red Mill makes a great brand if you can't find it in the Asian aisle. For the coconut milk, full-fat canned is best—the creaminess matters. The Thai chili is optional but adds that signature street food heat. If you're sensitive to spice, skip it entirely or use a milder chili like jalapeño. The eggs should be room temperature for perfect binding—just take them out of the fridge 30 minutes before mixing.

Freshly made fish cakes steam for 20 minutes before pan-frying, so plan ahead. Store any leftovers in an airtight container with a paper towel on top—they'll keep 2 days in the fridge. For longer storage, freeze shaped cakes on a tray before transferring to a bag for 1 month. Reheat gently in a steamer or pan with a splash of water to restore moisture. These taste even better the next day as flavors meld—perfect for meal prep or entertaining. Serve immediately after crisping for that authentic street food experience.

❤️

Why You'll Love This Recipe

  • I swear by this trick: freeze the celery stems first—they shred like butter with a knife. Lemongrass and galangal? Just scrape the tender white parts with a spoon, no dicing required. Ten minutes of prep, zero fuss.
  • No-Fuss Mincing: I swear by this trick: freeze the celery stems first—they shred like butter with a knife. Lemongrass and galangal? Just scrape the tender white parts with a spoon, no dicing required. Ten minutes of prep, zero fuss.
  • Umami Bomb: That crispy, golden crust from the fish fillets paired with the bright galangal and citrusy kaffir lime leaves? It’s the kind of flavor that makes you pause mid-bite. Honestly, the first time I tasted it, I nearly dropped my fork.
  • Weeknight to Party: Same batter, endless uses. Pan-fry for a quick weeknight snack with cucumber slices, or shape into patties and bake for a crowd. Even my picky friends ask for seconds—no one suspects how effortless it is.

Step-by-step instructions for authentic Thai fish cake

Follow this precise method to achieve the perfect balance of crispy celery crust and herby yolk streaks.

1

Prepare the Herbal Paste

In a food processor, combine the 3 whole celery stems, 3 cloves lemongrass (white part only), 2 oz galangal, and 4 whole kaffir lime leaves (stems removed). Pulse until finely minced but not paste-like—you want visible texture for that authentic crunch. Transfer to a bowl and mix in 1 tbsp fish sauce, 1 tsp sugar, and ½ tsp salt. This aromatic base forms the soul of your fish cakes.

I like to taste the paste at this stage—it should be bright, slightly peppery, and balanced between sweet and salty. If it needs more depth, add another pinch of salt. Let the mixture sit for 10 minutes while you prepare the fish, allowing the flavors to meld.

2

Combine Fish and Binding Ingredients

Cut the 1.5 lb white fish fillets into ½-inch cubes and add them to the herbal paste. Gently fold until evenly distributed—avoid overmixing, which can make the cakes dense. In a separate bowl, whisk the 2 whole eggs (room temperature) with ½ cup coconut milk and ½ cup rice flour. This creates a delicate binder that keeps the cakes tender yet sturdy.

Real talk: The rice flour is non-negotiable here. It gives that signature crispy crust without overpowering the delicate fish flavor. Slowly pour the egg mixture over the fish and fold gently until just combined. The batter should hold its shape when scooped but remain moist enough to form smooth cakes.

3

Form and Chill the Cakes

Using a 2-tablespoon scoop, portion the mixture into 4 equal cakes (about 1.5 inches in diameter). Place them on a parchment-lined plate and flatten slightly to ½-inch thickness. Cover with plastic wrap and refrigerate for 30 minutes—this crucial step ensures the cakes hold their shape during frying and develop that crispy exterior.

Don't skip the chilling. Cold cakes fry more evenly and develop a better crust. While they chill, heat 2 tablespoons vegetable oil in a nonstick skillet over medium heat until shimmering—this is when you're ready to cook.

4

Fry to Golden Perfection

Carefully slide the chilled cakes into the hot oil, being gentle to avoid splattering. Fry for 2-3 minutes per side until the crust is deep golden brown and the edges are crispy. The oil should sizzle steadily but not smoke—if it does, reduce the heat slightly. You'll know they're ready when the crust releases easily from the pan.

For the final touch, add the 1 whole Thai chili (sliced) to the pan during the last 30 seconds of frying. This infuses the oil with subtle heat that permeates the cakes. Transfer to a paper towel-lined plate to drain excess oil.

5

Serve Immediately with Yolk Streaks

Crack a whole egg into each cake's center and let it sit for 10 seconds before tilting the plate to distribute the egg evenly. Return to the skillet for 10-15 seconds until the egg just begins to set—you want those signature herby yolk streaks that cut through the crispy crust.

Serve immediately with a side of sweet chili sauce for dipping. The contrast of crispy crust, tender fish, and creamy yolk streaks is what makes these cakes truly authentic. Each bite should deliver a perfect harmony of textures and flavors—herbal, slightly sweet, and just a hint of heat.

👨‍🍳

Pro Tips For Making Authentic Thai Fish Cake

  • Mince Fish Like Mad: I learned this the hard way—skinning fish fillets and chopping them by hand is a slow death. Use a food processor instead: pulse the fish with 1 tablespoon of oil until it’s a rough, uneven paste (not smooth). That texture mimics traditional hand-mincing and keeps the cakes from falling apart. Yes, even if you’re impatient like me.
  • Blanching Galangal First: Raw galangal tastes like a cross between ginger and turpentine—no one wants that. Peel it, slice it thin, and blanch in boiling water for 30 seconds to soften. Drain and add it to the paste while still warm; it’ll break down easier and release its citrusy punch without overpowering. Sounds weird, but it works.
  • Celery Stems, Not Leaves: The recipe says celery, but most people grab the whole stalk. Don’t. Only use the pale, fibrous stems—chop them fine and fry them first in the oil until they darken slightly. That adds depth without bitterness. The leaves? Save them for garnish or soup stock.
  • Steam, Don’t Boil: After shaping the cakes, resist the urge to deep-fry them raw. First, steam them uncovered for 3–4 minutes over simmering water. This firms up the edges so they hold shape when fried, and the surface crisps faster. I was skeptical until I tried it—now I never skip it.

Wine and beer pairings for these flavors

Thai White Wines

For these delicate fish cakes, I reach for crisp Thai white wines that complement the herbal notes without overpowering them. A bottle of Riesling from Thailand, like the Thai Riesling from Chang Vineyard, offers bright acidity and subtle floral hints that mirror the kaffir lime and lemongrass flavors. The slight sweetness balances the fish sauce's umami, creating a perfect harmony. Serve chilled—around 45-50°F—to enhance the wine's refreshing qualities. 🍷

Citrusy Sauvignon Blanc

New Zealand Sauvignon Blanc is another fantastic choice, particularly if you prefer a wine with more pronounced citrus notes. Look for a Marlborough Sauvignon Blanc like Oyster Bay or Cloudy Bay, which delivers zesty lime and grapefruit flavors that echo the kaffir lime leaves in the fish cakes. The wine's herbal undertones also pair beautifully with the galangal and lemongrass. Keep it well-chilled to preserve its vibrant character.

Light Thai Beers

If you prefer beer, opt for a Thai lager like Singha or Leo, which are crisp and light with a subtle malt sweetness. These beers won’t compete with the fish cakes but instead cleanse your palate between bites. For a more adventurous choice, try a Thai craft lager such as Bangkok Beer Company's Thai Pale Ale, which offers a hint of tropical fruit and spice that complements the chili and coconut milk. Serve at 40-45°F for the best experience. 🍺

Herbal Gin Cocktails

For a non-alcoholic or cocktail pairing, I love serving these fish cakes with a Thai basil gin fizz. Mix 2 oz gin, ½ oz fresh lime juice, ½ oz simple syrup, and a handful of Thai basil leaves in a shaker with ice. Shake well and strain into a glass filled with ice, then top with club soda. The herbal notes of the basil and gin amplify the aromatics in the fish cakes, while the effervescence cuts through the richness. Garnish with a lime wheel for a refreshing touch.

Sweet and Spicy Dippers

While wine and beer pair beautifully, don’t forget the classic Thai accompaniments! Serve the fish cakes with a side of sweet chili sauce or a cucumber relish made with grated cucumber, lime juice, and a pinch of salt. The sweetness of the sauce or the cool crunch of the relish balances the fish cakes' herbal and slightly spicy flavors. For an extra layer of authenticity, add a sprinkle of crushed peanuts on top of the relish—they add texture and a nutty contrast. 🌶️

Nutrition facts

Servings 4
Amount Per Serving
Calories 320kcal
% Daily Value *
Total Fat 18g23%
Saturated Fat 7g35%
Cholesterol 115mg38%
Sodium 580mg25%
Total Carbohydrate 16g6%
Dietary Fiber 2g8%
Sugars 3g
Protein 30g60%
* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently asked questions

1

Why does this recipe use rice flour instead of regular flour?

Rice flour creates that signature delicate, crispy crust that's essential for authentic Thai fish cakes. Unlike wheat flour, it stays light and doesn't make the cakes dense or heavy. The fine texture also helps bind the fish and herbs without altering their natural flavors. For best results, use white rice flour—it's the traditional choice in Thailand.

2

Can I make these fish cakes ahead of time?

Shape the cakes and refrigerate them uncovered for 1-2 hours to develop a better crust. Store leftovers in an airtight container with a paper towel on top for up to 2 days. For longer storage, freeze shaped cakes (uncooked) on a tray for 1 month. Reheat gently in a steamer or pan with a splash of water—never microwave, as it makes them soggy.

3

What's the best substitute for galangal if I can't find it?

Use ginger at half the amount (1 oz instead of 2 oz), but know it won't be identical. Galangal has a peppery, citrusy flavor that ginger lacks. For better results, try combining ½ oz ginger + ½ oz lemon zest. If you're feeling adventurous, look for frozen galangal at Asian markets—it works just as well as fresh!

4

How do I get the perfect crispy crust without burning the inside?

The secret is frying at medium heat and using chilled cakes. Heat the oil until shimmering (not smoking) and fry for 2-3 minutes per side. The crust should be golden but not dark brown. For extra insurance, add the cakes to the pan gently to avoid splattering. If the inside seems undercooked, return to the pan for 10 seconds—it'll finish cooking from residual heat.

5

Are these fish cakes gluten-free?

This recipe is naturally gluten-free since it uses rice flour instead of wheat flour. Just double-check your fish sauce and coconut milk labels to ensure they're certified gluten-free. Most brands of fish sauce are gluten-free, but some contain wheat additives. For extra safety, use a dedicated gluten-free fish sauce like Red Boat Gluten-Free.

★★★★★4.5(11 reviews)
Categories Main Courses