Heat the butter in a large heavy-bottomed saucepan and add the bacon. Fry the bacon until it is crispy and the fat has been fried out. Remove the bacon with a slotted spoon and drain the excess oil on a paper towel. Keep aside.
Turn down the heat to medium and add the onion, carrot, celery and garlic. Cook the vegetable mix until tender and aromatic. Stir from time to time.
Stir in the flour, and cook for 3 minutes. Pour the chicken stock into the saucepan and mix well.
Pulp the tomatoes and add to the soup. Bring to the boil, stirring continuously.
Tie the parsley, thyme and bay leaf together with a piece of string and add to the soup.
Turn down the heat and simmer for 20 minutes. Remove from the heat, let the soup cool down, and remove the herbs.
Pulp the soup in batches with a food processor or stick blender until smooth. Pour the soup back into the saucepan and heat slowly over medium heat.
Stir the cream into the soup, season to taste and serve immediately.