In a large pot, melt butter over medium heat. Add diced onions and sauté until translucent (about 3-4 minutes).
Stir in minced garlic and cook for another 30 seconds until fragrant.
Add cubed potatoes, broth, salt, pepper, thyme, and paprika. Bring to a boil.
Reduce heat to a simmer, cover, and cook for 15-20 minutes or until potatoes are fork-tender.
Use an immersion blender to puree the soup until smooth (or transfer to a blender in batches).
Return to low heat and stir in heavy cream and milk. Simmer for 5 minutes.
Taste and adjust salt and pepper as needed. For extra richness, stir in shredded cheddar cheese until melted.
Ladle into bowls and garnish with chopped chives, extra cheese, or a drizzle of cream.