Soups & Stews
This Attukal pork soup recipe brings the rich, aromatic traditions of Kerala to your kitchen with every spoonful of slow-simmered comfort. The secret lies in the layered spices and coconut milk reduction that transforms simple ingredients into a deeply flavorful broth.
I developed this version after years of perfecting the balance between tender pork and the earthy warmth of traditional spices—each bite delivers both heartiness and authenticity.
The beauty of this recipe is its respect for tradition while making it accessible for home cooks. We start with a proper spice tempering that releases aromatic oils, then build the broth through slow simmering to develop rich, complex flavors.
The coconut milk reduction adds a velvety texture that perfectly complements the tender pork, creating a soup that's both comforting and sophisticated. What makes this version special is how it captures the essence of Attukal's signature taste without requiring specialty ingredients.
By the time you serve this soup, you'll have a dish that's perfect for family gatherings or cozy weeknight dinners—steaming bowls of tender pork swimming in a fragrant, spiced broth.
The aroma alone will have everyone gathering around the table, while the first spoonful delivers that perfect balance of spice, richness, and comfort. This is the kind of soup that becomes a household favorite, served with steamed rice or crispy appam for the full Kerala experience.
What sets this recipe apart is the attention to traditional techniques while keeping the process manageable for home cooks. We'll guide you through proper spice tempering, coconut milk reduction, and the slow simmering process that creates that signature depth of flavor.
The result is a pork soup that tastes like it came from a Kerala kitchen, with all the warmth and comfort of home-cooked tradition.
Ingredients for attukal soup
Sixteen ingredients. One deeply aromatic, slow-simmered vegetarian experience that honors Kerala traditions.
| Ingredient | Amount | Notes |
|---|---|---|
| Pork Shoulder 🥩 | 2 lb | Bone-in, cut into 1-inch cubes |
| Full-Fat Coconut Milk 🥥 | 1 can (13.5 oz) | High quality, no additives |
| Yellow Onions 🧅 | 2 whole | Medium size, thinly sliced |
| Garlic Cloves 🧄 | 8 cloves | Fresh, peeled, minced |
| Fresh Ginger 🌿 | 2 tbsp | Grated, aromatic |
| Tomatoes 🍅 | 4 whole | Roma, chopped |
| Green Chilies 🌶️ | 3 whole | Slit lengthwise, seeds removed |
| Curry Leaves 🌿 | ¼ cup | Fresh, packed |
| Ground Cumin 🌿 | 1 tbsp | Toasted for depth |
| Ground Coriander 🌿 | 1 tbsp | Freshly ground preferred |
| Turmeric Powder 🌶️ | ½ tsp | Bright yellow color |
| Garam Masala 🌶️ | 1 tsp | Whole spices preferred |
| Salt 🧂 | 1 ½ tsp | Diamond Crystal preferred |
| Vegetable Oil 🫒 | ½ cup | High smoke point |
| Fresh Cilantro 🌿 | ¼ cup | Chopped, for garnish |
The coconut milk is non-negotiable—full-fat canned versions like Thai Kitchen or Goya work best, but skip anything with additives. Indian grocery stores often carry fresh coconut milk in tetra packs that add incredible texture. For the pork substitute, extra-firm tofu pressed for 30 minutes or mushrooms like oyster or king oyster hold up beautifully to the long simmer. The curry leaves? Fresh is essential—dried won't give that signature aroma. If you can't find them, bay leaves at half the amount work in a pinch, but it won't be authentic.
No fresh ginger? Powdered works at half the amount, though it lacks the bright zing. The green chilies can be swapped for red jalapeños at double the heat level. For the tomatoes, San Marzano canned saves time without sacrificing quality. The garam masala blend matters—MDH or Everest are reliable brands, but if you're ambitious, toast whole spices (cumin, cardamom, cinnamon, cloves) and grind them yourself. The vegetable oil should have a high smoke point—avocado or refined coconut oil work beautifully for the spice tempering.
This soup tastes even better the next day as flavors meld. Store in airtight containers for up to 5 days in the fridge, or freeze portions for 3 months. The coconut milk will separate when refrigerated—just stir vigorously before reheating. For serving, I always make a double batch—half for dinner, half for lunches. The cilantro wilts fast, so add it last, or freeze some chopped leaves in ice cube trays for quick garnishing later.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this—just toss everything into one pot and let it simmer. No chopping mountains of veggies, no fussing with multiple pans. The pork shoulder practically falls apart on its own, and the coconut milk thickens into that velvety, rich broth with almost no effort.
- Ginger-Garlic Hug: That first spoonful of soup hits you like a warm embrace. The fresh ginger and garlic aren’t just background players—they’re the stars, sharp and bright against the creamy coconut and tender pork. Honestly, I’ve made this with leftover ginger that was past its prime, and it still tasted ridiculously good.
- Leftovers That Beg: This soup only gets better the next day. The flavors meld into something deeper, and the texture? Chef’s kiss. I’ve reheated portions for lunch three days in a row, and no one—including my picky teenager—has ever complained. (Yes, even on a Tuesday night.)
- Budget-Friendly Feast: Pork shoulder is my secret weapon for stretching meals without sacrificing flavor. A single cut feeds four, and the coconut milk adds richness without breaking the bank. Between us, this is the recipe I turn to when grocery money’s tight but I still want something that feels special.
Step-by-step instructions for Attukal pork soup
This slow-simmered masterpiece delivers deep, aromatic flavors that come together beautifully.
Sear the Pork Shoulder for Rich Flavor
Heat the 0.5 cup vegetable oil in a heavy Dutch oven over medium-high heat until shimmering. Working in batches to avoid crowding, add the 2 lb pork shoulder cut into 1-inch cubes, letting each piece develop a deep golden-brown crust before stirring. This searing step creates the Maillard reaction that builds the soup's complex foundation. I press down gently on the pork with a spatula during the first minute—this prevents it from curling and ensures even contact with the hot oil.
Once all pork is browned, remove it from the pot and set aside. You should have about 2 tablespoons of rendered pork fat remaining in the bottom of your Dutch oven—this golden liquid is pure flavor. If you don't see this, increase your heat slightly and let the pork sear a bit longer. The fat will release as the meat cooks, creating the perfect base for our aromatic vegetables.
Build the Aromatic Spice Base
In the same Dutch oven with the rendered pork fat, add the 2 whole yellow onions sliced thinly. Cook them over medium heat for 5-6 minutes until softened and beginning to caramelize at the edges. This is where the onions develop their sweet, mellow flavor that will carry through the entire soup.
Add the 8 cloves minced garlic cloves, 2 tablespoons grated fresh ginger, and 3 whole green chilies slit lengthwise. Stir constantly for 1-2 minutes until the garlic becomes fragrant and the ginger releases its bright aroma. Here's where it gets aromatic—you should smell a complex blend of spicy, citrusy, and slightly sweet notes filling your kitchen. If the garlic starts to brown too quickly, reduce the heat to medium-low to prevent burning.
Develop the Spice Infusion
Stir in the 0.25 cup packed curry leaves, 1 tablespoon ground cumin, 1 tablespoon ground coriander, and 0.5 teaspoon turmeric powder. Cook for 1-2 minutes until the spices are fragrant and the curry leaves begin to crisp slightly at the edges. This step is crucial for building the soup's signature depth of flavor—don't rush it. The spices should be visibly sizzling but not burning.
Add the 4 whole Roma tomatoes chopped and 1.5 teaspoons salt. Cook for 3-4 minutes until the tomatoes break down into a thick, rich paste. You'll notice the mixture darken slightly as the tomatoes release their juices and the spices meld together. This is when the soup starts to develop its characteristic rich, velvety texture that makes it so comforting.
Simmer the Soup to Perfection
Return the pork shoulder to the Dutch oven and add 4 cups water (enough to just cover the pork). Bring to a gentle boil, then reduce heat to low and let it simmer uncovered for 1 hour 30 minutes to 2 hours. You want the pork to become fork-tender and fall apart easily when tested. I check the soup periodically and add ½ cup water if it reduces too much—we want a rich but not overly thick consistency.
After the initial simmering, stir in the 1 can (13.5 oz) full-fat coconut milk and 1 teaspoon garam masala. Continue simmering for another 15-20 minutes until the coconut milk is fully incorporated and the flavors have melded together. The soup should have a beautiful, creamy texture with the pork falling apart easily. If it's too thick, add ¼ cup water to reach your desired consistency.
Finish and Serve with Fresh Herbs
Remove the Dutch oven from heat and let the soup rest for 10 minutes. This resting period allows all the flavors to settle and the pork to absorb any remaining cooking liquid. Skim off any excess fat that has risen to the surface—this gives you a cleaner, more elegant presentation.
Ladle the soup into bowls and garnish each serving with 0.25 cup chopped fresh cilantro. The bright, fresh cilantro provides a beautiful contrast to the rich, spiced soup. Serve immediately with warm bread or steamed rice to soak up every last drop of that comforting, aromatic broth. The soup should be hot when served, with the pork falling apart easily and the coconut milk creating a luxurious, velvety texture.
Pro Tips For Making Attukal Soup
- Sear the Pork First: After burning through three batches of underseasoned pork, I learned this: sear the pork shoulder in batches over medium-high heat until deep golden brown—about 5-7 minutes per side—before simmering. The crust locks in flavor and prevents the meat from turning mushy later, especially when it hits the coconut milk. (Yes, even if you’re impatient like me.)
- Finely Grate the Ginger: I used to chop ginger roughly, thinking it’d blend in fine. Wrong. For attukal soup, grate it so fine it’s almost paste-like—this way, it dissolves into the coconut milk instead of sitting as chunks. Use the small holes of a box grater, or pulse it in a food processor for 3 seconds. Trust me, your soup won’t taste like it’s hiding vegetables.
- Simmer Low and Slow: The pork shoulder needs at least 2.5 hours of gentle simmering—not a rolling boil—to break down into tender, pull-apart strands. If you rush it, you’ll end up with chewy meat and a watery broth. Keep the heat at a barely bubbling simmer, and if it gets too aggressive, reduce the flame. (Your future self will thank you.)
- Bloom the Aromatics First: Skip the urge to toss everything in at once. Instead, cook the onions, garlic, and ginger in oil for 5-7 minutes until the onions turn translucent and the garlic just starts to smell sweet. This builds a flavor base that carries through the coconut milk, making the soup richer without needing extra spices. (Does it look weird? Yes. Does it work? Every single time.)
Flavor customization for attukal soup
Spice Level Control
Adjust the heat to your preference by modifying the green chilies. For mild heat, reduce to 1-2 chilies or swap for ½ tsp mild chili powder. If you love medium heat, keep the 3 green chilies as written.
For spicy lovers, add 1 extra chili or ½ tsp red chili flakes at the end. I like to serve extra chili flakes on the side so everyone can customize their bowl. 🌶️
Creamy Variations
Swap the coconut milk for cashew cream by blending ½ cup soaked cashews with 1 cup water until smooth. This adds a nutty depth while keeping the dish dairy-free.
For a richer texture, stir in 2 tbsp yogurt at the end—it balances the spices beautifully. I’ve also seen versions using coconut cream instead of milk for extra richness.
Vegetarian Adaptations
Replace the pork with extra-firm tofu pressed for 30 minutes and cubed, or king oyster mushrooms for a meaty texture. Both absorb the flavors wonderfully. For extra protein, add ½ cup cooked lentils or chickpeas during the final 15 minutes of simmering.
The soup remains hearty and satisfying while staying vegetarian. 🥗
Herb and Garnish Twists
Swap the cilantro for fresh mint leaves or basil for a different herbal note. Add toasted coconut flakes for crunch or lime wedges to brighten the dish.
I also love drizzling tamarind chutney or mango pickle on top for a tangy contrast. These garnishes elevate the presentation and add fresh layers of flavor.
Regional Spice Blends
For a Tamil Nadu twist, add ½ tsp fennel seeds to the spice tempering. A Goan variation includes ½ tsp black peppercorns and 2 cloves for warmth. If you’re feeling experimental, try ½ tsp asafoetida (hing) for a deeper umami note—it’s a game-changer in Kerala cooking.
Each blend transforms the soup into a regional specialty. 🗺️
Texture Adjustments
For a chunkier soup, blend only half the tomatoes before adding them to the pot. For a smoother texture, blend the entire soup (except the pork) before the final simmer.
If you prefer lighter broth, reduce the coconut milk to ½ can and add ½ cup water instead. These tweaks let you tailor the soup to your preferred consistency. 💫
Nutrition facts
Frequently asked questions
Is Attukal soup traditionally made with pork?
No, the authentic Attukal soup is a vegetarian dish from Kerala's Attukal Bhagavathy Temple tradition. The pork version is a modern adaptation—traditionally, it features vegetables like pumpkin, yam, and tapioca blended with coconut milk and spices. For the vegetarian original, substitute pork with tofu, mushrooms, or lentils.
Can I make Attukal soup without coconut milk?
While coconut milk is traditional, you can substitute it with cashew cream (blend soaked cashews with water) or yogurt for a tangy twist. For a lighter version, use ½ cup coconut milk + ½ cup water. The soup will still be flavorful but lose its signature creamy texture.
How do I adjust the spice level for kids?
For mild heat, reduce green chilies to 1-2 or swap them for ½ tsp mild chili powder. Remove seeds entirely from chilies. For extra safety, serve the soup without chilies and let kids add their own from a separate bowl. The coconut milk naturally balances spice, so the soup won't be overly hot.
Why does my Attukal soup taste bland?
Most likely, your spices weren't toasted enough or simmered long enough. Always sauté spices until fragrant (1-2 minutes) and simmer uncovered for at least 1.5 hours> to develop depth. Add a pinch of asafoetida (hing) or extra garam masala at the end for umami.
What's the best way to reheat leftover Attukal soup?
Reheat gently on low heat with a splash of water (coconut milk separates when cold). For best results, warm in a pot for 5-7 minutes> until steaming. Avoid microwaving—it can make the coconut milk grainy. Stir well before serving. The soup actually tastes better the next day as flavors meld!
