Break up the cauliflower into medium sized florets, place into a pan of boiling water and simmer for 10 minutes. Drain and then set to one side.
Next peel the potatoes and roughly chop into chunks, place into a pan of boiling water and simmer for 30-40 minutes or until soft. Remove from heat and drain. Add the butter and milk and use a masher to mash up. Set to one side with the cooked cauliflower
To make the filling
Preheat the oven to 180°C.
Place a medium - large pan on the heat and add the butter, onions and garlic. Gently heat and cook until onions are soft. Next add the flour and stir in, the mixture should clump slightly and take on a breadcrumb consistency. Keeping the heat on low-medium, gradually add the milk to the onions and flour, whilst continually stirring. If the mixture starts to to curdle remove from the heat momentarily and stir rapidly. Once all the milk is added continue to stir until the mixture starts to boil and thickens. At this point turn off the heat and stir in the cheese.
Next prepare the fish by chopping into bite sized chunks. Add the fish to the cheese sauce and mix in carefully. Then add the spinach leaves and stir in. Finally, carefully transfer the fish pie mix to an ovenproof dish. Randomly dot the cauliflower florets on the top and then add the mash in the gaps between the florets. Or if you have a nozzle and piping bag to hand, pipe swirls of mash in between the florets.
Place in the centre of a preheated oven and bake for 30 minutes.
Serve with a scattering of freshly chopped parsley leaves.