Preheat the oven to 425°F.
Arrange the tomatoes and bell pepper in an even layer on a sheet pan. Roast until tender, about 20 minutes. Turn the oven to broil and broil until the tomatoes develop a nice char, about 3 minutes.
Meanwhile, in a large pot, heat the butter and oil over medium heat until the butter melts. Add the onion and sauté until translucent, about 2 minutes. Add the garlic and sauté until fragrant, 2 to 3 minutes. Add the tomato paste and fresh basil and sauté for 2 to 3 minutes.
Transfer the roasted tomatoes and bell pepper to the pot. Add the broth and stir to combine. Add the brown sugar, oregano, salt, black pepper, onion powder (if using), garlic powder (if using), dried basil, white pepper, and cayenne to taste. Adjust the seasonings as needed. Cooking doesn’t have to be strict, so tailor it to your preference.
Cook until the flavors have melded, about 15 minutes. Use an immersion blender to puree the soup until smooth. (Or allow the soup to cool slightly, then blend in batches in a standard blender. Once blended, return the soup to the pot.) Add the cream and simmer for 5 minutes until incorporated. At this point, you can either keep the soup warm on the stove (cover it to retain the heat) or refrigerate it and reheat it before serving.
Ladle the tomato soup into bowls, drizzle with some heavy cream, and garnish with fresh basil leaves. Serve with the grilled cheese on the side—dipping in the soup is encouraged!