Heat the oil and butter in a saucepan until foamy. Add the onion and a pinch of salt and fry gently over a low heat for 15 mins, or until softened and translucent. Add the garlic and cook for another min. Stir in the rice and cook for a further min, then pour in the wine. Bring to the boil and cook until the liquid is reduced by half. Pour in half the stock and simmer, stirring continuously, until most of the liquid is absorbed. Add the remaining stock a ladleful at a time as the rice absorbs the liquid, stirring, until the rice is cooked through (this should take about 20-25 mins). Stir in the parmesan and lemon and season to taste. Spread the risotto out into a lipped tray and leave to cool to room temperature.
Scoop the cooled risotto into 18 equal portions – they should be slightly larger than a golf ball. Flatten a risotto ball in your hand and put a piece of the mozzarella in the centre, then enclose the cheese in the rice and roll it into a ball. Repeat with the remaining risotto balls.
Put the flour, eggs and breadcrumbs into three separate shallow bowls. Dip each prepared risotto ball into the flour, followed by the eggs and finally, the breadcrumbs. Transfer to a tray and set aside.
Half-fill a large, heavy-based saucepan with vegetable oil and heat over medium-low until it reads 170C on a cooking thermometer or until a piece of bread turns golden brown in the oil within 45 seconds. Lower the risotto balls into the oil in batches and cook for 8-10 mins, or until golden brown and melted in the centre. Set aside on a tray lined with a clean kitchen towel.
Eat the arancini warm, or serve with a basic tomato sauce for dipping.