In a large pot, heat butter and oil over medium-high heat, then add onion, garlic, and carrots.
Stir and cook for 5 minutes.
Add tomato paste and stir it in, cooking for another 2-3 minutes.
Add canned tomatoes with their juice, broth, and water.
Stir together and bring to a boil, then reduce the heat, cover the pot, and simmer for 15-20 minutes, longer if you have time.
Use a blender to puree, still leaving some texture to the tomatoes.
Add cream, salt, pepper, parsley, and basil, and simmer for another 5 minutes.