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 100ml 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 remaining water. Bring mixture to the boil. Stir in the stock cube, 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 the boil. Stir in the cream, Gruyere and Cheddar cheeses. Heat until cheeses melt, do not boil. Serve hot.