Heat oil in a pan and char the onion halves and the ginger until slightly blackened, about 2-3 minutes on both sides. You may even put them under a broiler for 5 minutes.
In a large pot, dry roast the cinnamon, star anise, cloves and coriander seeds over a medium low flame until aromatic. Add the vegetable stock, soy sauce, carrots and the charred onions and ginger. Bring the broth to a rolling boil, reduce the heat and let it simmer covered for about 30 minutes. Strain and keep hot on the side till ready to serve.
While the broth is boiling, prepare the noodles. Place the noodles in a large bowl and cover with hot water till submerged. Let stand for 20-25 minutes or until tender but still chewy (if soaking the noodles as above does not soften them enough, blanch them in a pot of boiling water for a few seconds).
Prepare the toppings as desired. You may tear or slice the cabbage and bok choy and steam the broccoli florets.
Press the tofu in a couple of layers of paper towels for 10 minutes to drain the excess water. Slice and cook the tofu with the hoisin and sriracha for 2-3 in a frying pan.
Divide the noodles between both the bowls, arrange the toppings over the noodles and ladle the hot broth over. Serve with the garnishes and the sauces on the side.