Cook the bacon in a large pot over medium heat until crispy. Remove the bacon with a slotted spoon and set it aside, leaving the rendered fat in the pot.
Add the onion to the pot and cook until it softens, about 5 minutes. Stir in the garlic and cook for 1 minute.
Add the broccoli florets, chicken broth, and smoked paprika. Bring the mixture to a simmer and cook until the broccoli is tender, about 10 minutes.
Use an immersion blender to partially puree the soup, leaving some broccoli chunks for texture.
Stir in the heavy cream along with most of the cooked bacon. Season with salt and pepper to taste.
Ladle the soup into bowls and top each serving with the remaining bacon and shredded cheddar cheese.