Prepare the Kreung Paste: In a mortar and pestle or a food processor, pound or blend the ingredients for the kreung paste until a coarse or fine paste is formed. If using a mortar and pestle, start with the tougher ingredients first (lemongrass, galangal, kaffir lime leaves) before adding the rest.
Sauté the Prahok and Kreung: Heat the oil in a large pot over medium heat. Add the prahok and cook for a few minutes until fragrant. Next, add the kreung paste and sauté for 2-3 minutes, stirring constantly until the aroma fills the air.
Cook the Beef: Add the thinly sliced beef to the pot. Stir to coat the meat with the kreung paste and cook until the beef is seared and mostly browned.
Add the Liquids and Seasoning: Pour the water or beef broth into the pot. Add the tamarind paste, fish sauce, and palm sugar. Stir well to combine. Bring the soup to a boil, then reduce the heat to a simmer. Cover the pot and let it simmer for at least 30 minutes, or longer, until the beef is tender.
Add the Vegetables: Once the beef is tender, add the tougher vegetables first, such as the eggplant and celery. Cook for about 5-10 minutes until they begin to soften.
Finish with Water Spinach and Basil: Add the water spinach and holy basil (if using). Stir and cook for just a few minutes until the greens are wilted but still retain a slight crunch.
Taste and Adjust: Taste the soup and adjust the seasonings as needed. You may add more fish sauce for saltiness, tamarind for sourness, or sugar for balance. A pinch of salt can also be used.
Serve: Ladle the hot soup into bowls and serve immediately with steamed jasmine rice.