Preheat oven to 400 degrees. Line a rimmed baking sheet with parchment paper and set aside.
In a large bowl, combine the fresh tomatoes, onion, garlic, red pepper flakes, sea salt and olive oil. Toss well to combine.
Transfer to the baking sheet, spreading evenly, and roast for 40 minutes.
Transfer the roasted tomatoes, onions and garlic to a large dutch oven. Using an immersion blender (or you can use a blender or food processor), puree until smooth.
Add the chicken stock, fire roasted canned tomatoes, tomato paste and fresh basil. Season generously with freshly ground pepper.
Bring to a boil over medium heat, reduce to low and simmer, uncovered, for 30 - 45 minutes or until the soup thickens a bit. The longer this soup simmers, the better it gets!
Remove from heat, stir through heavy cream, if using, and serve immediately.