To make the stock, heat the butter and oil in the saucepan and gently fry the leeks, onions and fennel for 5 to 10 minutes, or until the onions are translucent and the fennel is tender.
Add the white wine and water and bring to the boil. Reduce the heat and simmer for half an hour.
Drain into the large bowl through the colander and set aside.
For the soup, heat the butter and oil in the casserole and sauté the leeks, fennel, shallots and garlic for 3-4 minutes, or until softened.
Add the potatoes, cover with the stock and bring to the boil. Reduce the heat and simmer for 15 minutes, or until the potatoes are almost tender.
Stir in the cream and raise the heat a little to bring back to simmering.
Add the haddock and simmer for a few minutes or until the fish is cooked.
Stir in the parsley and transfer to a soup tureen and sprinkle with a little more chopped parsley.