Heat the butter in a large pot over medium heat. Stir in the diced onion and bacon. Add in your diced carrot, celery and garlic and cook until soft and bacon is done but not crispy. (I do not drain grease, lends a lot of flavor to the soup) Can remove a few pieces of bacon to add to the top if desired.
Stir in the flour and cook to create a rue of sorts.
Pour in the broth and can of tomatoes and bring to a boil while whisking constantly.
Tie parsley, thyme sprigs and bay leaf together and add to pot if you have them. Lower heat and simmer for 30 min. on a low boil. Remove from heat and allow to cool.
When soup is cool remove and discard herb bundle. Transfer the mixture to a blender or use a hand mixer to blend until pureed and smooth.
You can use a sieve to strain but I never did and liked the texture. Whisk in the heavy cream and salt to taste. If you have some chopped up bacon still use it to garnish the top!