Roast whole sweet potatoes in the oven heated to 230 degrees C for 30 minutes. Remove from oven and slice open, allowing to cool while assembling rest of soup.
Sauté onion and garlic in olive oil and butter until soft and slightly browned. Add potatoes to pot and sauté 1 minute. Stir in flour. Pour in the stock and deglaze pan, scraping up any brown bits. Add water and sweet potato flesh, scraped out of the skin. Bring mixture to the boil and reduce heat to medium low. Simmer partially covered for approximately 30 minutes or until vegetables are tender. (Liquid will have reduced to approximately 2 litres.)
Remove from heat and purée soup in batches in blender or directly in pot with hand-held blender.
Return soup to pot and re-heat over low heat. Add remaining ingredients, stirring well.