Peel and finely chop the onions, finely grate the Parmesan, and zest the lemon.
Place the butter in a large pan over a low heat with a drizzle of olive olive oil, add the onions and cook for 15 minutes, or until soft but not coloured.
Turn the heat up to medium, pour in the risotto rice and stir for a few minutes, to ensure every grain is coated, then add the saffron and stir well.
Pour in the wine and let it bubble away for a couple of minutes, stirring regularly. Start ladling in the stock bit by bit, stirring it through the rice and allowing each ladleful to become absorbed before adding the next. Continue until the rice is cooked through – about 15 to 20 minutes.
Stir in the grated Parmesan and a squeeze of lemon juice, then leave to cool while you make the filling.
Place the pistachios in a bowl and cover with boiling water. Set aside for 20 minutes, then drain and remove the skins; this gives your filling a better colour and smoother texture.
Pick the sage leaves and chop with the pistachios, mozzarella, caciocavallo cheese, and the tomatoes, then combine with the oregano and lemon zest. Season to taste with sea salt and black pepper.
To form the arancini, scoop a portion of the cooled risotto into your hand. Spoon 1 tablespoon of the filling mixture into the centre and wrap the risotto around it to seal completely. Repeat with the remaining risotto and filling.
For the pane, place the flour, beaten eggs and breadcrumbs into separate shallow bowls. Carefully dip each arancini ball into the flour, shaking off any excess, then the egg, and finally the crumbs, ensuring the rice is completely coated. Set aside.
To make the arrabiata sauce, peel and finely slice the garlic, finely slice the chilli and pick the basil, finely chopping the stalks.
Place the garlic, chilli and basil stalks in a pan over a medium heat with a splash of olive oil and fry for 2 minutes. Pour in the tomatoes, season and cook for 10 minutes over a medium-low heat. Transfer to a blender and blitz until smooth.
Pour the vegetable oil into a deep, heavy-bottomed saucepan and place over a high heat. To test the oil is ready, drop in a few breadcrumbs – if they sizzle and float, it is ready.
Carefully lower in the arancini with a slotted spoon, in batches of four, and deep-fry for 8 minutes, or until golden and crispy. Transfer to a double layer of kitchen paper to drain.
Delicious served with fried capers, fresh oregano and basil leaves, grated Parmesan and the punchy arrabiata sauce for dunking.