Start by peeling and roughly chopping the onion, then crush the garlic cloves. In a skillet over medium heat, warm the olive oil until shimmering. Add the onion and garlic, sautéing until translucent and fragrant, about 5 minutes, until they develop a sweet aroma and become slightly golden.
Transfer the sautéed aromatics to your crockpot. Pour in the canned crushed tomatoes, vegetable broth, and add the sliced carrots. Season with a pinch of salt and pepper. Stir everything together to combine well.
Cover the crockpot and cook on low for 6-8 hours, or on high for about 4 hours. The kitchen will fill with a rich, roasted tomato scent, and the carrots will soften and meld into the soup.
Once cooked, carefully use an immersion blender to puree the soup directly in the crockpot until smooth and velvety. Alternatively, transfer the soup in batches to a blender, blend until smooth, then return to the crockpot.
Stir in the heavy cream or coconut milk, adjusting the seasoning with more salt and pepper if needed. The soup should be creamy, smooth, and vibrant in color.
Taste and garnish with freshly chopped basil or herbs, then serve hot in bowls. Optionally, drizzle with a little extra olive oil for added richness and presentation.