Place onion and ginger on skillet over medium-high heat, cut side down. Char ginger for about 3 to 4 minutes and the onion for 5 minutes, turning them halfway. Transfer onion and ginger into a stock pot.
Place star anise, cinnamon sticks, cloves and garlic into the skillet and stir until the spices become fragrant, about 30 seconds. Turn off the heat and transfer spices into stock pot.
Pour vegetable stock into the pot and bring to a boil. Once the broth has boiled, reduce to a simmer and add fish sauce, coconut aminos, and salt. I used 1 tablespoon of kosher salt because my vegetable broth was not salted. Reduce heat to low and let broth simmer for 30 minutes, covered. There shouldn’t be many bubbles bubbling. The simmering allows the spices to set into the broth more.
While broth is cooking, spiralize zucchini noodles. I like to give the noodles a few rough chops so that they’re easier to eat. Separate noodles into 3 or 4 bowls.
When the broth is ready, strain it, and return it to the pot. Turn the heat on low and cover the pot.
Fill a large saucepan with several inches of water (enough to cover an egg). Bring water to boil and set the eggs inside. Let the eggs cook for 7 to 8 minutes and remove them. Put eggs into a cold water bath so that the eggs are easier to handle. Peel and slice each egg in half. The outside of the yolks should be slightly hardened with a bit of runniness on the inside.
Turn off the heat for the broth and taste it. Add more salt, if necessary. Fill each bowl of noodles with broth. Top each bowl with the soft-boiled eggs, bean sprouts, cilantro, mint, lime, and red pepper flakes. I like a lot of citrus in my soup, so I usually add about 1 tablespoon of lime juice to my bowl.