In a large saucepan or stockpot, heat oil over medium heat for 30 seconds. Add onions, carrots and celery and cook, stirring, until carrots have softened, about 7 minutes.
Add garlic, ginger curry powder and orange zest and cook, stirring, for about one minute. Add sweet potato purée and stock, and stir well.
Bring to a boil. Stir in millet. Reduce heat to low, cover, and simmer until millet is tender and flavors have blended, about 30 minutes.
Add orange juice and maple syrup and heat through. Season to taste with salt and pepper. Ladle into bowls and garnish with toasted nuts and a drizzle of yogurt, if using.