Heat the olive oil in a large sauté pan. Add the bacon and cook until very crisp and the fat has rendered off. Remove with a slotted spoon and drain on kitchen paper.
Thinly slice the Brussels sprouts and add to the pan. Cook on a high heat until the sprouts are starting to brown around the edges. Add 100ml/3½fl oz water and continue to cook, stirring regularly, until the water has evaporated off and the Brussels are just cooked – they should have wilted a little but still be a very fresh looking green. Keep warm.
Meanwhile, put the cranberries in a small saucepan and cover with the marsala. Bring to the boil and simmer until all the liquid has been absorbed by the cranberries – they will be glossy and plump.
Whisk the walnut oil and sherry vinegar together with the honey and mustard, if using. Season with salt and pepper.
To assemble the salad, arrange the leaves in a bowl or serving platter. Add the Brussels sprouts and most of the dressing and toss gently. Sprinkle over the bacon, pecans and cranberries and serve.