Heat the butter and olive oil in a large pot over medium heat. Stir in onions and cook until tender. Mix in tomatoes and chopped basil. Season with salt and pepper. Pour in the chicken broth, reduce heat to low, and continue cooking 15 minutes.
Transfer soup to a blender (or use an immersible hand blender), and blend until smooth. Return to the pot, and bring to a boil. Reduce heat to low, and gradually mix in the heavy cream. Pour soup through a strainer before serving. Garnish each serving with a sprig of basil.