Peel all the vegetables. Chop the onion. Slice the carrots, parsnip, and celery root into ¼-inch-thick pieces. Cut the potato into ½-inch-thick slices and finely chop the garlic. In a saucepan, bring the broth to a boil.
In a soup pot, heat the oil. Add the onion and sauté on medium heat for 3 minutes. Add the garlic and curry powder, and sauté for 30 seconds. Sprinkle the flour over the top and whisk for 3 to 5 minutes. Add the boiling broth and the parsnip and carrots. In a small bowl, whisk the flour and water together until smooth; add this mixture to the soup pot. Bring to a boil, then reduce to a simmer, and cook for 15 minutes.
Add the potato and celery root, and salt and pepper to taste. Simmer for 10 to 20 minutes, until the vegetables are tender. Garnish each serving with a sprig of cilantro.
If you don't like sweet potatoes, a russet potato can be substituted in this soup.