Place the chopped bacon in a large Dutch oven or soup pot over medium heat.
Cook until crisp.
Remove the bacon with a slotted spoon and transfer it to a paper towel-lined plate.
Leave approximately 1 tablespoon of bacon fat in the pot.
Add the butter.
Add the diced onion and cook for approximately 4 to 5 minutes, until softened.
Add the garlic and cook for approximately 30 seconds.
Add the cauliflower florets and chicken broth.
Stir in the smoked paprika, garlic powder, onion powder, black pepper, and salt.
Bring the soup to a gentle boil.
Reduce the heat and simmer for approximately 15 to 20 minutes, until the cauliflower is very tender.
Use an immersion blender to blend the soup until it reaches your preferred consistency. For a chunkier soup, leave some cauliflower pieces intact.
Reduce the heat to low.
Add the softened cream cheese and stir until completely melted.
Add the heavy cream and stir.
Add the shredded cheddar gradually, stirring until melted and smooth.
Stir approximately half of the cooked bacon into the soup.
Taste and adjust seasonings if needed.
Ladle into bowls.
Top with remaining bacon, cheddar, green onions, sour cream, or other desired toppings.
Serve warm.