To make the risotto, bring the stock and saffron just to the boil in a saucepan over high heat. Reduce heat and hold at a gentle simmer.
Heat the olive oil and half the butter in a saucepan over medium heat. Add onion and garlic and cook, stirring, for 5 minutes or until soft. Add rice and stir for 2-3 minutes or until the grains appear slightly glassy. (Toasting the grains ensures the rice cooks evenly.)
Add wine and stir until liquid is absorbed. Add 1 ladleful of stock and stir until liquid is absorbed. Continue adding stock, 1 ladleful at a time, and stirring, for 20 minutes, until rice is tender yet firm. Remove from the heat. Stir in parmesan and remaining butter. Season.
Spread risotto onto a lined tray with sides. Cool slightly. Cover with plastic wrap and place in the fridge overnight to chill completely.
To make the arancini, place breadcrumbs on a tray. Place flour on a plate. Crack eggs into a bowl and use a fork to lightly whisk.
Shape 1 /3 cup risotto into a ball. Make an indent in the centre of the ball. Place a piece of mozzarella in the indent. Mould risotto around mozzarella to enclose. Repeat to make 12 balls.
Roll risotto ball with hands, moulding into a conical shape. Repeat with remaining balls. Roll in flour and shake off excess. Dip in egg, then breadcrumbs, pressing to coat. Place on a baking tray in the fridge for 30 minutes.
Heat oil to 170°C in a deep saucepan over medium-high heat. Cook arancini, in batches, turning, for 6-8 minutes until golden. Drain on paper towel. Serve with sauce for dipping.