In a large pot, cook chopped bacon over medium heat until crisp (6–8 minutes). Remove with a slotted spoon and set aside. Keep 2 tablespoons of bacon fat in the pot.
Add diced onion and cook for 3–4 minutes until soft. Stir in minced garlic and cook for 30 seconds.
Stir in diced potatoes and broth. Season with salt, pepper, and thyme. Bring to a boil, then reduce heat and simmer for 15–20 minutes until potatoes are fork-tender.
For a creamy texture, blend all or part of the soup using an immersion or regular blender. Or mash with a spoon for a chunkier style.
Lower the heat and stir in heavy cream. Let it warm for 2–3 minutes, then taste and adjust seasoning if needed.
Ladle into bowls and top with crispy bacon, green onions, and shredded cheddar cheese. Serve hot.