In a large pot over medium heat, saute the leeks, onion, potato and carrot in the butter and olive oil for 10 minutes, or until all vegetables are tender.
Mix the mustard powder and cornflour with 50 ml of the water to make a thin paste. Set aside.
Season the vegetable mixture with salt and pepper and sugar. Stir in the mustard-water mixture and the stock. Bring mixture to a boil. Add water, reduce heat and simmer for about one hour, until reduced by half.
Using a hand blender or food processor, puree mixture until frothy but not completely smooth.
Return this to the pot and bring to a boil. Stir in the cream, Gruyere and Cheddar cheeses. Heat until cheeses melt, do not boil. Serve hot.