Place bacon in a large, deep skillet. Cook over medium heat until browned and crispy.
Remove bacon from pan, leaving grease in pan.
Crumble, and set aside.
To the pan of grease add onion and garlic, and saute until tender (3-5 minutes)
Remove from grease, and discard leftover grease. Add onion and garlic mix to a stock pot or dutch oven along with butter, and melt butter over medium heat.
When butter is melted, add flour, and whisk until smooth, and a paste forms. Flour will be starting to brown slightly.
Gradually whisk in milk and chicken stock, whisking until mixture has thickened. Add onion powder and parsley.
Stir in potatoes and bring to a boil, continue to stir frequently.
Once boiling, cover, and turn the heat down to low and let simmer for 10 minutes. Stir occasionally so bottom doesn’t burn.
Once the simmer time has ended, mix in half the bacon crumbles, half the cheese, all of the sour cream. Stir together, then taste. Add salt and pepper until seasoned to your preference.
Continue cooking, stirring frequently, until cheese is melted.
Serve topped with remaining cheese and bacon crumbles, as well as green onion for garnish.