Heat olive oil in a large pot over medium heat.
Add diced onion and carrots, season with salt and pepper, and cook for 5-6 minutes until softened.
Stir in garlic, tomato paste, and red pepper flakes; cook 1-2 minutes until fragrant and tomato paste browns.
Add basil, thyme, crushed tomatoes, vegetable broth, and white wine; stir to combine.
Bring to a boil, then reduce heat and simmer partially covered for 15 minutes until vegetables are tender.
Carefully blend the soup in batches until smooth using a blender or immersion blender.
Return soup to pot and stir in cream or milk; warm over medium-low heat.
Adjust seasoning with salt and pepper.
Ladle into bowls and garnish with cracked black pepper, red pepper flakes, and fresh basil leaves.
Serve with crusty bread or grilled cheese sandwiches. Enjoy!