Preheat oven to 425°F (220°C). Line a baking sheet with parchment paper. Peel carrots, trim ends, and cut on a diagonal into 1-inch (2.5cm) pieces.
Transfer carrots to the baking sheet and drizzle with 2 tablespoons olive oil. Season generously with salt and pepper, toss to coat, and spread in a single layer. Roast for 25 minutes, flip, then continue roasting 10-15 minutes until fork-tender and caramelized.
While carrots roast, heat remaining 1 tablespoon olive oil in a large Dutch oven over medium heat. Add chopped onion with a pinch of salt and cook 8-10 minutes until softened and translucent.
Add minced garlic, coriander, cumin, smoked paprika, and ginger. Cook 60-90 seconds while stirring constantly until fragrant.
Pour in broth and scrape up any browned bits. Add roasted carrots and any pan juices. Bring to a boil, then reduce heat and simmer uncovered for 10-15 minutes. Remove from heat and cool for at least 5 minutes.
Transfer soup to a blender in batches, filling no more than halfway. Remove the center cap and cover with a towel to vent steam. Blend until completely smooth. Alternatively, use an immersion blender directly in the pot.
Return blended soup to the pot over low heat. Stir in heavy cream (or coconut milk) and fresh lemon juice. Taste and adjust seasoning with salt, pepper, or additional lemon juice. Warm through without boiling.
Ladle into bowls and garnish with a swirl of cream, pumpkin seeds, fresh parsley, or a dusting of smoked paprika. Serve immediately.