Preheat the oven to 400°F (200°C). Toss the cubed beetroot and sweet potato with 1 tablespoon olive oil, salt, and pepper. Spread in a single layer on one or two baking sheets.
Roast for 30–35 minutes, flipping once halfway, until edges are caramelized and a knife slides through easily.
Meanwhile, heat the remaining tablespoon of oil in a large pot over medium heat. Add the onion and cook 5–6 minutes until soft. Add the garlic and ginger and cook 1 minute more.
Add the cumin, coriander, and chili flakes. Stir constantly for 30–45 seconds until fragrant.
Add the roasted beetroot and sweet potato and the vegetable stock. Bring to a gentle simmer and cook uncovered for 10 minutes.
Remove from heat. Blend until completely smooth using a stand blender in batches (vent the lid for steam) or an immersion blender directly in the pot.
Return to low heat. Stir in most of the coconut milk, reserving a little for garnish. Warm through for 2–3 minutes without boiling hard.
Stir in the lime juice. Taste and adjust salt and pepper. Serve with a swirl of reserved coconut milk and a scatter of fresh coriander.