Heat a large pan over a low heat and add the butter and olive oil. Once melted, add the chopped onions and sweat for 15 minutes or until soft but not coloured. Turn the heat up to medium and pour in the risotto rice, stirring 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–20 minutes.
To form the arancini, scoop a portion of the cooled risotto into your hand. Spoon a 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, egg and breadcrumbs in separate shallow bowls. Carefully dip each arancini ball in the flour, shaking off any excess, then the egg, and finally the crumbs, ensuring the rice is completely coated. Set aside.
Make the arrabiata sauce by frying the garlic, chilli and basil stalks in a pan over a medium heat for 2 minutes. Pour in the tomatoes, season and cook for 10 minutes over a low–medium heat. Transfer to a blender and blitz until smooth.