Heat the rapeseed oil in large pot over medium-high heat. Add the onion, carrots and garlic and cook for 5 minutes. Next, add the mince and cook for 10 minutes or until browned, stirring frequently.
Preheat oven to 220C/200C Fan/Gas 7/425F.
Chuck the tomato puree, beef stock, bay leaf, flour and parsley into the pan and stir to combine. Season with salt and pepper, if desired. Bring to the boil, then reduce heat and simmer for 15 minutes. Transfer the mixture to a baking dish.
While the mince mixture is simmering, place the cauliflower in a saucepan. Cover with water and bring to the boil. Boil for 8-10 minutes or until the cauliflower is tender. Drain and return the cauliflower to the saucepan. Add the milk and the butter beans to the cauliflower and using a potato masher, mash until smooth.
Spread the mash evenly over the mince and sprinkle with parmesan cheese. Bake for 20-25 minutes or until the top is golden brown.