In a large pot, melt butter over medium heat. Add diced onion and cook until translucent (3-4 mins). Stir in minced garlic and cook for 30 seconds until fragrant.
Add cubed potatoes, broth, salt, pepper, and paprika. Bring to a boil, then reduce heat and simmer for 15-20 mins until potatoes are tender.
Use an immersion blender to partially puree the soup (leave some chunks for texture). Alternatively, transfer half the soup to a blender, then return to the pot.
Stir in heavy cream and sour cream. Simmer for 5 mins on low heat (do not boil).
Ladle into bowls and top with shredded cheese, bacon crumbles, and fresh chives.