In a bowl, add the catfish steaks. Pour in the fish sauce and let the fish marinate while you prepare the other ingredients.
In a large pot, heat a drizzle of oil over medium heat. Add the minced garlic and chopped shallot, stirring until fragrant and the garlic turns golden brown.
Add the sugar and 1/4 cup fish sauce to the pot, stirring to combine. Pour in the water and tamarind powder, stirring until the tamarind dissolves. Add chicken bouillon powder or salt if not salty enough.
Add the quartered tomatoes and pineapple chunks. Increase the heat and bring the mixture to a boil, then reduce to a simmer and cook for 10 minutes.
Increase the heat to bring the broth back to a boil. Carefully add the marinated catfish steaks to the pot. Reduce the heat again and let the fish cook for about 5 minutes, or until cooked through.
If using, add chopped taro stems and rice paddy herb to the soup during the last few minutes of cooking.
Turn off the heat. Top the soup with freshly chopped cilantro and green onions.