Place a large soup pot over medium-low heat. Add the olive oil and butter. Once the butter melts, add the onion and celery. Saute until translucent, about 5 minutes. Add the garlic and stir until fragrant, about 30 seconds. Season with salt and pepper.
Add the flour and stir to coat the veggies.
Slowly stir in the broth and milk, then add the potatoes. Bring to a boil over medium-high heat, then reduce to a simmer. Simmer for 15-20 minutes until the potatoes are tender and easily pierced with a fork.
Add the sour cream and nutritional yeast over low heat, stirring to combine. Heat on low for 5-10 minutes, stirring occasionally, until the mixture is heated through.
Remove the pot from heat, then use an immersion blender to puree the soup to desired smoothness, leaving a few chunks of potato as desired.
Ladle soup into bowls, then top as desired with chopped chives, sour cream, and croutons.
For the croutons:
Place a small skillet over medium heat. Add the olive oil, and once it is shiny, add the bread cubes. Toss to coat the cubes in the oil, then toast over medium-low heat for 5-6 minutes, stirring often, until the cubes are golden brown and crispy.
Remove the croutons from heat and add the smoked paprika and salt. Toss to coat, then serve as desired as a soup topping.