In a large pot over medium heat, gently cook 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 1/4 cup 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 remaining water. Bring mixture to a boil. Stir in the stock cube, reduce heat and simmer for about one hour or 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.