Quick Recipe Version (TL;DR)
Quick Ingredients
- 2 cups (400 g) Carnaroli/Arborio rice; 6 cups (1.4 L) low-sodium stock; 1/2 tsp saffron threads; 1/2 cup (120 ml) dry white wine; 1 small onion; 3 tbsp (42 g) butter; 2 tbsp (30 ml) olive oil; 3/4 cup (60 g) grated Parmesan; 2 eggs; salt
- Ragù filling (classic): 1 tbsp olive oil; 1/2 onion; 1 small carrot; 1 small celery rib; 8 oz (225 g) ground beef; 8 oz (225 g) ground pork; 1/2 cup (120 ml) red wine; 2 tbsp (33 g) tomato paste; 1 cup (240 g) passata; 1 bay leaf; salt, pepper
- Peas & ham filling (alternative): 2 tbsp (28 g) butter; 2 tbsp (16 g) flour; 3/4 cup (180 ml) milk; pinch nutmeg; 1 cup (140 g) peas; 5 oz (140 g) diced ham; salt, pepper
- 8 oz (225 g) low-moisture mozzarella, 1/2-inch cubes
- Breading: 1 cup (125 g) flour; 4 eggs; 2 cups (200 g) fine breadcrumbs; salt
- Oil for frying: 2 quarts (1.9 L) neutral oil
Do This
- 1. Bloom saffron in hot stock; cook a firm, slightly dry risotto with onion, wine, and stock; finish with Parmesan. Spread on a tray, chill 60–90 minutes until firm, then mix in 2 beaten eggs.
- 2. Make ragù: brown meats; sauté soffritto; add wine, tomato paste, passata; simmer until thick (30 minutes). Cool.
- 3. Alternative filling: cook a thick béchamel; fold in peas and ham; cool completely.
- 4. Cut mozzarella into 1/2-inch cubes. Set up flour, beaten eggs, and breadcrumbs in three bowls.
- 5. Form: press 1/3 cup rice into a disc; add 1 tbsp filling + 1 mozzarella cube; seal into a ball or cone.
- 6. Bread: flour → egg → breadcrumbs (double-coat if desired). Chill 15 minutes.
- 7. Fry at 350°F (175°C) until deep golden, 4–5 minutes. Drain, rest 3 minutes, serve hot.
Why You’ll Love This Recipe
- Authentic Sicilian flavor: saffron-scented rice and a rich ragù center, just like the street food stalls in Palermo and Catania.
- Two filling options: classic ragù with mozzarella or a creamy peas-and-ham alternative.
- Ultra-crisp shell with a molten, cheesy middle—irresistible for parties and family dinners.
- Make-ahead friendly: shape and bread in advance, then fry to order.
Grocery List
- Produce: 2 onions, 1 small carrot, 1 small celery rib, fresh basil or parsley (optional), 1 lemon (optional)
- Dairy: Unsalted butter, Parmesan cheese, mozzarella, milk, eggs
- Pantry: Carnaroli/Arborio rice, saffron threads, chicken or vegetable stock, olive oil, neutral frying oil, flour, breadcrumbs, tomato paste, passata (or crushed tomatoes), dry white wine, dry red wine, bay leaf, nutmeg, salt, black pepper
Full Ingredients
Saffron Risotto Base
- 6 cups (1.4 L) low-sodium chicken or vegetable stock
- 1/2 teaspoon saffron threads
- 2 tablespoons (30 ml) extra-virgin olive oil
- 3 tablespoons (42 g) unsalted butter
- 1 small yellow onion, very finely minced (about 150 g)
- 2 cups (400 g) Carnaroli or Arborio rice
- 1/2 cup (120 ml) dry white wine
- 3/4 cup (60 g) finely grated Parmigiano Reggiano
- 2 large eggs, lightly beaten (mixed into chilled rice)
- 1 1/4 to 1 1/2 teaspoons fine sea salt, to taste
- Freshly ground black pepper, to taste (optional)
Classic Ragù Filling (Choose this or the alternative)
- 1 tablespoon (15 ml) olive oil
- 1/2 medium onion, finely diced
- 1 small carrot, finely diced
- 1 small celery rib, finely diced
- 8 oz (225 g) ground beef
- 8 oz (225 g) ground pork (or use all beef)
- 1/2 cup (120 ml) dry red wine
- 2 tablespoons (33 g) tomato paste
- 1 cup (240 g) passata or crushed tomatoes
- 1 bay leaf
- 3/4 teaspoon fine sea salt, plus more to taste
- 1/4 teaspoon black pepper
- 8 oz (225 g) low-moisture mozzarella, cut into 1/2-inch cubes
Peas & Ham Filling (Alternative)
- 2 tablespoons (28 g) unsalted butter
- 2 tablespoons (16 g) all-purpose flour
- 3/4 cup (180 ml) whole milk, warmed
- 1/8 teaspoon freshly grated nutmeg
- 1/4 teaspoon fine sea salt, plus more to taste
- Pinch black pepper
- 1 cup (140 g) frozen peas, thawed
- 5 oz (140 g) cooked ham, diced 1/4-inch
- 8 oz (225 g) low-moisture mozzarella, cut into 1/2-inch cubes
Breading & Frying
- 1 cup (125 g) all-purpose flour
- 4 large eggs, beaten with a pinch of salt
- 2 cups (200 g) fine dry breadcrumbs (or panko pulsed to fine)
- 2 quarts (1.9 L) neutral oil for frying (peanut, canola, or sunflower)
- Fine sea salt, for finishing

Step-by-Step Instructions
Step 1: Bloom saffron and heat the stock
Bring the stock to a bare simmer in a saucepan. Ladle 1/2 cup hot stock into a small bowl and add the saffron threads. Let bloom for 10 minutes. Keep the remaining stock hot over low heat while you make the risotto.
Step 2: Cook the saffron risotto base
In a wide heavy pot, heat the olive oil and butter over medium heat. Add the minced onion and a pinch of salt; cook, stirring, until soft and translucent, 4–5 minutes. Stir in the rice and toast, stirring constantly, until the grains look slightly translucent at the edges, 2 minutes.
Pour in the white wine and cook until mostly evaporated. Add the saffron-infused stock, then begin adding hot stock a ladle at a time, stirring frequently and waiting until each addition is absorbed before adding the next. Cook until the rice is al dente and cohesive but a touch firmer than a typical risotto (you want it thick, not soupy), 16–18 minutes total. Stir in the Parmesan; season with salt and pepper to taste.
Step 3: Chill and fortify the rice
Spread the risotto in a 3/4-inch layer on a parchment-lined rimmed sheet. Press plastic wrap directly on the surface and refrigerate until cold and firm, 60–90 minutes. Transfer to a bowl and mix in the 2 beaten eggs until evenly combined. Keep chilled while you prepare the filling(s).
Step 4: Make the classic ragù filling
Heat olive oil in a skillet over medium heat. Add onion, carrot, and celery; cook until softened, 5–6 minutes. Add the beef and pork; cook, breaking up with a spoon, until no longer pink and lightly browned, 5–6 minutes. Deglaze with red wine and reduce by half. Stir in tomato paste, passata, bay leaf, salt, and pepper. Simmer gently, uncovered, stirring occasionally, until very thick and scoopable, about 25–30 minutes. Remove bay leaf and let cool completely before using.
Step 5: Make the peas and ham filling (alternative)
In a small saucepan, melt butter over medium heat. Whisk in flour and cook, whisking, 1 minute. Gradually whisk in warm milk; cook until thick and smooth, 2–3 minutes. Season with nutmeg, salt, and pepper. Fold in peas and ham; simmer 1 minute more. Spread on a plate to cool completely; the mixture should be thick and spoonable.
Step 6: Set up breading and prepare mozzarella
Place flour, beaten eggs, and breadcrumbs into three separate shallow bowls. Season the breadcrumbs with a pinch of salt. Cut the mozzarella into 1/2-inch cubes; keep chilled until needed.
Step 7: Form and fill the arancini
With lightly damp hands, scoop about 1/3 cup (roughly 60 g) chilled rice. Flatten into a 4-inch disc in your palm. Add 1 tablespoon of ragù (or peas-and-ham mixture) and 1 mozzarella cube to the center. Cup your hand to enclose the filling and seal the rice around it. If needed, add a teaspoon or two more rice to close. Roll gently into a tight ball, or shape into a cone for a Sicilian touch. Repeat with remaining rice and filling.
Step 8: Bread and fry to crisp perfection
Dredge each ball in flour, dip in egg, then coat in breadcrumbs, pressing gently so crumbs adhere. For extra crunch, repeat egg and crumb for a double coat. Refrigerate shaped and breaded arancini for 15 minutes while you heat the oil.
Pour oil into a deep, heavy pot to a depth of 2–3 inches. Heat to 350°F (175°C). Fry 4–6 arancini at a time, turning occasionally, until deep golden brown, 4–5 minutes. Maintain 325–350°F between batches. Drain on a rack and sprinkle with a pinch of salt. Rest 3 minutes before serving to allow the molten center to settle.
Pro Tips
- Keep the risotto firm and slightly dry—excess moisture makes shaping difficult and can cause leaks while frying.
- Work with cold fillings and cold rice; chill shaped arancini before frying for cleaner edges and fewer blowouts.
- Use a digital thermometer to hold the oil at 350°F (175°C) for evenly crisp, ungreasy results.
- Double-coat in breadcrumbs for a thicker, crunchier shell that stays crisp longer.
- Shape consistently: 1/3 cup rice per ball yields about 20 arancini and even frying times.
Variations
- Palermo-style cone: Shape into cones and fill with ragù and mozzarella—classic street-food presentation.
- Air-fryer: Spray breaded arancini with oil and cook at 380°F (193°C) for 12–15 minutes, turning once; they will be slightly lighter but still crisp.
- Herb and cheese: Skip ragù and fill with smoked scamorza and chopped herbs (parsley, basil) for a vegetarian option.
Storage & Make-Ahead
Risotto base can be made up to 2 days ahead; keep chilled. Ragù and peas-and-ham fillings can be made 3 days ahead. Formed and breaded arancini can be refrigerated for 24 hours or frozen up to 2 months (freeze on a tray, then transfer to a bag). Fry from frozen at 325–340°F (165–171°C) for 8–10 minutes, then increase to 350°F (175°C) to finish to deep golden. Leftover fried arancini keep 2 days in the fridge; re-crisp in a 375°F (190°C) oven for 10–12 minutes.
Nutrition (per serving)
Approximate for 2 arancini with ragù and mozzarella: 540 calories; 27 g fat; 52 g carbohydrates; 24 g protein; 990 mg sodium. Values will vary based on oil absorption and filling choice.


Leave a Reply