Heat the oil in a large heavy-bottomed pot over medium heat until it shimmers softly and begins to smell fragrant.
Add the diced onion and sauté, stirring occasionally, until translucent and just beginning to turn golden, about 5 minutes. You should hear gentle sizzling and see the onions soften.
Toss in the minced garlic, grated ginger, and chili flakes, cooking for about 1 minute until fragrant. The mixture should become aromatic, and the garlic will turn slightly golden.
Stir in the chopped tomatoes and cook, stirring occasionally, until they soften and release their juices, roughly 8 minutes. The mixture will thicken slightly and smell sweet and tangy.
Add the shredded cooked chicken to the pot, stirring to combine with the tomato mixture. Pour in the chicken broth and squeeze in the lemon juice, then bring everything to a gentle simmer.
Reduce the heat to low and let the soup simmer gently for 15–20 minutes, occasionally skimming off any foam or excess fat from the surface. The broth should become flavorful and slightly reduced.
Season the soup with salt and pepper to taste, and add more chili flakes if you prefer it spicier. Stir well to incorporate the seasonings.
Stir in the fish sauce for an umami boost, then cook for an additional 5 minutes to meld the flavors. The soup should be bubbling gently with a vibrant aroma.
Taste the broth and adjust the seasoning as needed, adding more lemon juice, salt, or chili flakes to suit your preference.
Once ready, ladle the hot soup into bowls, ensuring each serving has plenty of shredded chicken and a rich, spicy broth. Serve immediately for the best flavor and aroma.