Heat a large skillet over medium-high heat and add the bacon. Cook until brown and crispy. Remove from heat and transfer to a paper-towel-lined plate. Crumble once cooled and set aside.
Melt the butter in a large stockpot over medium heat and whisk in the flour. Let the flour brown slightly, about 1 minute before slowly whisking in the milk. Continue to cook until the mixture thickens, about 2 minutes.
Stir in the broth, potatoes, and green onions. Season with salt, pepper, and chili powder.
Bring to a boil and reduce the heat to a simmer until potatoes are soft; about 20 minutes.
Remove from heat and stir in the cheese and sour cream.
Garnish with green onions, bacon, and more shredded cheese.
You can leave out the broth and add more milk instead. Also depending on how you like your soup you can either add more milk or broth to thin it out or less to leave it super thick and creamy.