Place all the ingredients for the cashew cream in a food processor and blend until the mixture has a creamy texture. Add a little more water if needed to create a good consistency. Set aside.
Preheat the oven to 180°C/350°F/gas mark 4 and line 2 baking sheets with greaseproof paper.
Put the squash slices in a bowl and toss with some of the coconut oil. Arrange the squash pieces on the prepared baking sheets, brush with more coconut oil and season with salt and pepper. Bake in the oven for 15 minutes or until barely tender. Leave the oven on to bake the finished dish.
To make the white sauce, heat the olive oil in a sauté pan and cook the spinach. Remove from the pan and put it on a board to dry. Gently pat the leaves dry if necessary with kitchen paper; the spinach must be completely dry or it will water down the sauce. Use the same pan to cook the garlic for 1 minute. Add the broth, coconut milk and almond butter and stir to make a thick sauce. Mix in the spinach, season with salt, pepper and nutmeg. Set aside.
Lightly oil a medium-sized, shallow ovenproof dish. Arrange a layer of about 10 overlapping butternut squash pieces on the bottom of the dish, then pour over some cashew cream. Repeat until you have 2 or 3 layers. Cover with the white sauce and sprinkle the macadamia nuts on top.
Cover the casserole with greaseproof paper and bake in the oven until heated through; about 10 minutes. Uncover and cook for a further 4 minutes before serving.