Heat a large soup pot over medium high heat and add the bacon. Cook, stirring occasionally, until crisp, about 5 minutes.
Remove the bacon bits with a slotted spoon to a paper towel, leaving the bacon fat in the pan.
Add the butter, onion, and celery, and season with a pinch of salt. Cook for 5 minutes, until softened.
Add the flour and cook, stirring frequently, for 1 minute.
Add the diced tomatoes, chicken stock, bay leaf, and black pepper. Bring to a boil, reduce to a simmer over low heat, and cook (covered) for 20 minutes, giving the bottom of the pan a good scrape every 5 minutes. Then turn off the heat.
Add the heavy cream, remove the bay leaf, then season the soup to taste with salt. Because chicken stocks can vary in salt content, it's important to adjust it to your liking (I usually add 1/4 to 1/2 tsp more salt).
Let the soup cool slightly, then blend the soup in batches, until silky smooth. Serve with the crumbled bacon on top, and any other desired toppings, like croutons, or a side of grilled cheese. Enjoy!
Vegetarian option: This soup is still delicious without the bacon, so if you’re vegetarian, just leave the bacon out and use vegetable stock.Storing leftovers: Keep in an airtight container in the fridge for up to 5 days, though I recommend trying to finish within 3 days for optimal flavor.Freezing: I find that soups with milk or cream don’t freeze well, because they get grainy. I don’t recommend freezing this one.Reheating: I prefer to reheat in a saucepan on the stove over medium heat for 5-10 minutes, until hot. You can also use the microwave.