Heat the olive oil in a Dutch oven or heavy-bottomed pot over medium heat. Add the diced onion and carrots, season with 1 teaspoon kosher salt and pepper, and cook for 5–6 minutes, stirring occasionally, until slightly softened. Stir in the garlic, tomato paste, and red pepper flakes (if using). Cook for 1–2 minutes more until the paste darkens and the garlic is fragrant.
Add the basil, thyme, crushed tomatoes, vegetable broth, and wine (if using). Stir well to combine. Bring to a boil, then reduce to a gentle simmer. Partially cover and cook for 15 minutes, until the carrots are completely tender.
Transfer the soup to a stand blender in batches, filling no more than two-thirds full. Remove the center lid cap and cover with a folded kitchen towel before blending until smooth. Return blended soup to the pot. (Alternatively, use an immersion blender directly in the pot.)
Stir in the cream or milk of choice. Cook over medium-low heat, stirring, until heated through. Taste and adjust seasoning.
Ladle into bowls and top with cracked black pepper, crushed red pepper flakes, and fresh basil leaves. Serve with crusty bread or grilled cheese.