If making risotto: Heat olive oil and butter in a saucepan over medium heat. Add onion and cook until soft, about 3–4 minutes.
Stir in rice to coat. Add hot broth, one ladle at a time, stirring frequently and adding more as it absorbs. Cook 18–22 minutes until creamy and al dente.
Stir in Parmesan, season, and spread on a tray to cool completely. Refrigerate at least 2 hours so it firms up.
Mix the arancini base: In a large bowl, combine cold risotto, Parmesan, beaten egg, parsley, garlic powder, onion powder, salt, and pepper. Mix until sticky and cohesive.
Shape the balls: Scoop about 2 tablespoons of the rice mixture into your palm.
Flatten slightly, place a cube of mozzarella in the center, and wrap the rice around it to form a tight ball about golf-ball size. Repeat with remaining mixture and cheese.
Set up the breading: Place flour in one bowl, beaten eggs in a second, and breadcrumbs in a third. Season the breadcrumbs with a pinch of salt and pepper for extra flavor.
Bread the arancini: Roll each ball in flour, dip in egg, then coat thoroughly in breadcrumbs.
Press gently to help the crumbs stick. For extra crunch, double-coat by dipping again in egg and breadcrumbs.
Preheat the air fryer: Heat to 380°F (193°C) for 3–5 minutes. Lightly spray the basket with olive oil to prevent sticking.
Air fry the arancini: Arrange balls in a single layer with space between them.
Lightly spray or brush the tops with oil. Cook for 10–14 minutes, turning once halfway, until deeply golden and crisp. Timing may vary by model, so keep an eye on the color.
Make the spicy sauce: While the arancini cook, warm olive oil in a small saucepan.
Add garlic and red pepper flakes; cook 30 seconds until fragrant. Stir in crushed tomatoes, sugar (if using), salt, and pepper. Simmer 8–10 minutes until slightly thickened.
Stir in herbs at the end, taste, and adjust heat with more flakes if needed.
Serve: Let the arancini cool 2–3 minutes so the cheese settles. Serve with warm spicy tomato sauce for dipping.