Cook the spaghetti according to the directions, drain it, toss it with a little oil to keep it from sticking together, and set aside.
Optional: If you are making the fried shallots, peel and slice them and toss them with the corn starch and flour. Put ½ inch of oil in a large pot over medium heat until it is 325°. Shake excess flour off the shallots and drop them in the hot oil. Fry just until they are light brown and then remove with a slotted spoon to a plate lined with paper towel.
Combine garlic, curry paste, madras curry powder, turmeric and cumin. Add 2 tablespoons of oil to the pot. Add the garlic and spices and stir, cooking just until fragrant. Add the broth, fish sauce, sugar and coconut milk. Bring to a boil and then reduce the heat to a simmer. Simmer for about 20 minutes to get the flavors to meld.
While the soup is simmering, chop the green veggies you have chosen to use and either steam them or sauté for a few minutes with a little garlic in olive oil or sesame oil.
After 20 minutes, add the shrimp and/or tofu. Cook just until the shrimp is done, or until the tofu is heated through. Turn the heat to high.
Add 1 tablespoon lime juice and as soon as the soup boils, turn it off. Put noodles in large bowls and top with ladlefuls of the hot soup. Put cooked green veggies on top and garnish with fried shallots and cilantro.
Any Asian greens or green vegetables such as bok choi, tat soi, broccoli or broccolini, sugar snap or snow peas work well in this recipe.