Cook the Bacon:
Heat a large pot over medium heat. Add the diced bacon and cook until crispy, about 5–7 minutes. Remove the bacon with a slotted spoon and set it aside on a paper towel-lined plate. Leave about 2 tablespoons of bacon grease in the pot.
Sauté the Aromatics:
Add the chopped onion to the pot and sauté for 3–4 minutes until softened. Stir in the minced garlic and cook for another 1 minute until fragrant.
Cook the Potatoes:
Add the diced potatoes to the pot, along with 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.
Mash or Blend (Optional):
For a creamier soup, use a potato masher to partially mash the potatoes or blend a portion of the soup with an immersion blender. Leave some chunks for texture.
Add Cream and Seasoning:
Stir in the heavy cream (or milk) and season the soup with salt, black pepper, and smoked paprika if using. Let the soup simmer for 5 more minutes to heat through.
Serve and Garnish:
Ladle the soup into bowls and garnish with crispy bacon, shredded cheddar cheese, and sliced green onions.