In a large pot or Dutch oven, cook the chopped bacon over medium heat until crispy. Use a slotted spoon to remove the bacon and place it on a paper towel-lined plate to drain the excess fat, leaving about 1 tablespoon of bacon fat in the pot.
Add the diced onion to the pot and sauté for about 3-4 minutes, or until it becomes soft and translucent.
Stir in the minced garlic and sauté for another minute until fragrant.
Add the diced potatoes to the pot, followed by the chicken or vegetable broth. Bring the mixture to a boil, then reduce the heat to a simmer. Cover and cook for 15-20 minutes, or until the potatoes are tender.
Once the potatoes are cooked, use a potato masher or immersion blender to mash the soup to your desired consistency. For a creamier texture, you can blend it until smooth.
Stir in the heavy cream, shredded cheddar cheese, sour cream, salt, black pepper, and paprika. Cook for an additional 5 minutes over low heat, stirring occasionally, until heated through and the cheese is melted.
Taste and adjust seasoning if needed. Serve hot, garnished with crumbled bacon bits and chopped green onions.