Prep the potatoes. Peel and dice the potatoes into even cubes. Smaller, uniform pieces cook faster and blend smoother.
Build the base. In a large pot, heat the butter and olive oil over medium heat.
Add the onion and celery with a pinch of salt. Cook 5–7 minutes until soft and fragrant, not browned. Stir in the garlic and thyme for 30 seconds.
Add potatoes and broth. Stir in the potatoes, bay leaf, and broth.
The liquid should just cover the potatoes. Increase heat to bring to a gentle boil, then reduce to a simmer.
Simmer until tender. Cook uncovered 15–20 minutes, or until the potatoes are easily pierced with a fork. Stir a few times to prevent sticking.
Remove the bay leaf. Don’t forget this step—it’s easy to miss, and you don’t want to blend it.
Blend to your preferred texture. Use an immersion blender right in the pot for a silky finish.
For a chunkier soup, blend only half and leave some potato pieces intact. A countertop blender also works; blend in batches and return to the pot.
Add cream and season. Stir in the heavy cream. If the soup is too thick, add milk or a splash of broth until it’s just right.
Season with salt and pepper. Start with 1 teaspoon salt and 1/2 teaspoon pepper, then adjust.
Optional cheese melt. Off the heat, stir in the cheddar until melted for extra richness. Taste again and season if needed.
Serve and finish. Ladle into bowls and top with chives, bacon, cracked pepper, or a dollop of sour cream.
Serve warm with crusty bread.