Preheat oven to broil and line a baking sheet with foil. Roast bell peppers for 10-15 minutes, rotating every 5 minutes to ensure even cooking on each side. Remove from oven when peppers are charred and tender on each side. Carefully (the peppers will be hot) wrap the peppers in foil and allow them to steam for 5 minutes.
Meanwhile, prepare the tomatoes- set oven temperature to 400 degrees f and line a large baking sheet with parchment paper. Slice the tomatoes in half lengthwise and lay them in a single layer cut-side-up. Drizzle with olive oil and sprinkle with salt and pepper. Roast the tomatoes for 30-40 minutes, or until soft and cooked.
As the tomatoes are roasting heat a large pot over medium-high heat. Add 1 tablespoon olive oil and the onion to the pot and stir well. Cook the onion for approximately 5 minutes, or until softened. Add the carrots and garlic to the pot and sprinkle with a pinch of salt. Reduce heat to medium and continue to cook for an additional 5-7 minutes, stirring frequently. Add the tomato paste, dried dill, and dried basil to the vegetables and mix well to combine. Add the chicken or vegetable broth to the pot and mix well. Bring to a low boil, reduce heat to low and cover. Simmer until carrots are tender- approximately 10 minutes.
As the soup simmers, unwrap the bell peppers, remove the charred outer skin and the stem. Roughly chop and add to the pot.
When the tomatoes have finished roasting, remove from the oven and add to the pot.
Remove soup from heat and use an immersion blender or high-speed blender to puree soup. Return to a simmer and season to taste. If the soup is too thick, add additional broth as needed.
Drizzle with cream or coconut milk at serving, if desired.