In a large pot, melt butter over medium heat. Add garlic, onion and chili powder; sauté for about 5 minutes or until soft. Add broth and sweet potatoes; bring to a boil. Reduce heat and simmer until potatoes are soft, about 20 minutes.
Transfer to a blender or food processor, in batches, or use an immersion blender in the pot and purée until very smooth, adding some of the milk if necessary to thin. Return soup to pot, if necessary. Stir in milk. Heat over medium heat, stirring until steaming, but do not let boil.
In a small bowl, whisk cornstarch into 1/2 cup of the yogurt. Stir into soup; heat stirring, for 1 minute. Stir in salt and season to taste with pepper. Stir lime zest and juice into remaining yogurt. Ladle soup into warmed bowls; dollop lime yogurt on top of each serving.