In a large nonreactive saucepan, melt butter over medium heat. Add onion and carrot and cook, stirring frequently, until softened, 3 to 5 minutes. Add flour and cook, stirring constantly, 1 to 2 minutes without allowing to color. Add tomatoes with their juices, broth, tomato paste, basil, thyme and bay leaf. Bring to a boil. Reduce heat to low, cover, and simmer stirring frequently, 15 minutes. Remove and discard bay leaf.
In a food processor or blender, puree soup in batches until smooth. Return to pan and stir in cream. Season with salt and pepper, to taste. Simmer until heated through, 3 to 5 minutes, and serve.