Heat a large saucepan over medium heat, and add the coconut oil once it’s hot. Stir in the shallots and shiitake mushrooms with a sprinkle of salt.
Sauté until the shallots are softened but not browned, about 3-5 minutes.
Pour in the broth and one can of coconut milk. Increase heat to medium-high, stirring frequently until it starts to simmer.
Add the lemongrass stalks, galangal coins, and torn up makrut lime leaves. Maintain a simmer, decreasing the heat to medium or medium-low, stirring occasionally.
When the aromatics have infused the broth (about 5 to 10 minutes), add the chicken. Increase the heat to medium-high to bring back to a simmer and cook until the chicken is no longer pink.
Add the remaining can of coconut milk and the tomatoes. Cook, stirring occasionally, until the tomatoes are heated through but not broken down.
Fish out the lemongrass, lime leaves, and galangal. (Or you can tell your diners to pick out those items in their bowls.)
Remove the pot from the heat and season with fish sauce, lime juice, and cilantro. Taste and adjust with more seasoning if needed.
Ladle up the soup and add Thai chili peppers to the bowls if desired.