In a large pot or Dutch oven, heat the olive oil over medium heat. Add the diced onion and sauté until translucent, about 5 minutes.
Stir in the minced garlic and cook for an additional minute until fragrant.
Add the Italian sausage to the pot, breaking it up into smaller pieces. Cook until browned and no longer pink, about 7-10 minutes.
Add the diced carrots and celery to the pot, stirring well. Cook for another 5 minutes until the vegetables start to soften.
Pour in the chicken or vegetable broth and bring the mixture to a boil.
Stir in the white beans, heavy cream, dried thyme, and smoked paprika. Reduce the heat to a simmer and cook for an additional 10-15 minutes to allow the flavors to meld.
Season with salt and pepper to taste. If desired, use an immersion blender to blend some of the soup for a creamier texture, leaving some beans whole for added texture.
Serve hot, garnished with fresh parsley.