In dutch oven or stock pot, cook bacon until browned and crispy. Remove bacon from pot and set aside. Drain all but about 1 tablespoon bacon grease from pot.
Add butter to bacon grease in pot and melt over medium heat. Add flour and whisk about 1 minute until lightly browned. Slowly whisk in chicken stock and half & half and continue whisking a couple minutes until it starts to thicken.
Add potatoes, green onions, smoked paprika, salt and pepper. Bring to a boil, reduce heat and simmer, covered, until potatoes are tender, about 15 minutes (depending on the size of your cubed potatoes). If you want the soup smooth, use an immersion blender to blend the soup, or slightly mash the potatoes with the back of a spoon or potato masher to get the texture you desire.
Stir in sour cream and grated cheese. Taste and adjust seasoning as needed.
Serve with reserved diced bacon, additional grated cheese and sliced green onions or chives as desired.