In a large stock pot, cook bacon over medium heat, if using. Once cooked, remove with slotted spoon or tongs and set aside, leaving bacon grease in the pot.
Add butter and onions and saute until translucent. Add garlic and sauté until fragrant, about 1 minute more.
Add flour and stir. Add potatoes, chicken broth, milk, salt, pepper, and chili powder. Bring to a boil. Allow to boil for about 10 minutes, or until potatoes are fork tender, stirring occasionally.
Reduce heat to low. Using an immersion blender, blend half the soup. (You can also carefully place half the soup in a blender and blend or simply mash some of the potatoes). If you don’t have a blender, you can simply mash some of the potatoes with a potato masher and stir.
Add Greek yogurt and cooked bacon. Simmer for 10 minutes and serve with cheese and any toppings you love!