Heat oil and 3 tablespoons of butter in a very large saucepan.
Add onions and fry over a low heat for a few minutes.
Add celery and potatoes and fry for a few more.
Add carrots, cover pan and sweat over a low heat for 20 minutes, stirring occasionally.
Add stock and simmer for a minimum of 20 minutes or until the vegetables are cooked through.
Remove from heat and blend soup in a food processor or with a hand held immersion blender.
Fry spices in a small saucepan with 1 tablespoon of butter until fragrant, around 1 minute.
Add toasted spices, cilantro and orange juice to the soup. Season to taste.