Heat a frying pan over a medium heat. Add your chicken breasts and fry off for a couple of mins until golden, crisp and tender. Remove from the pan.
Add half your butter to the pan. When melted, add your onion and fry for 5-10 mins until soft and starting to caramelise. Add your garlic and cook out for 1 min.
Tip the rest of your butter into the pan and, once melted, add your flour. Cook out for 2 mins, then gradually pour in your milk in small increments, whisking all the while until you have a smooth sauce.
Once all the milk has been added, bring to a boil then simmer for 2 mins until thickened. Add your cheddar, mozzarella, nutmeg, salt and pepper. Stir until your cheese melts.
Pop your chicken back in the pan along with your broccoli and stir until everything is coated.
Mash your cooked potatoes either in a potato ricer or with a potato masher.
Stir through spring onion, cheddar and salt until totally combined. Take a handful and roll into a tennis ball size, then repeat with your remaining potato.
Pour your chicken and broccoli mixture into a dish and top with your potato balls. Lay your mozzarella slices over the top, then take to the oven to bake for 25 mins.