
Meatballs Recipe
veal and pork, currant agrodolce, mozzarella, parmesan & local basil
Was this page helpful?
Help improve this recipe for others.
Send this recipe to your inbox.
We'll email it straight to you - plus weekly cooking inspiration.
Ingredients
Some product links may be affiliates. If you buy through them, you're supporting the site and Pekin may earn a commission at no extra cost to you.
Meatballs
Currant Agrodolce (sweet-sour sauce)
To Finish & Garnish
Method
Meatballs
In a small bowl, combine the breadcrumbs and milk. Let sit 5 minutes until the breadcrumbs absorb the milk and become cohesive.
Combine meat mixture
In a large bowl, add ground veal, ground pork, softened breadcrumb mixture, grated Parmesan, minced garlic, chopped parsley, egg, 1 teaspoon salt and 1/2 teaspoon freshly ground black pepper. Use your hands to gently mix until just combined — avoid overworking to keep meatballs tender. Fold in the diced mozzarella gently so pieces are distributed but not fully melted into the mix.
Portion meatballs
Portion the mixture into 18 even meatballs (about 1.25 ounces / 35 g each). Wet your hands slightly to prevent sticking and roll each portion into a compact ball, tucking mozzarella pieces slightly inward so they stay inside while cooking.
Brown meatballs
Heat 3 tablespoons olive oil in a large skillet over medium-high heat. When shimmering, add meatballs in a single layer (work in batches if needed). Cook without moving 2–3 minutes to form a brown crust, then gently turn to brown other sides, about 6–8 minutes total per batch. Transfer browned meatballs to a plate lined with paper towel. They do not need to be fully cooked through at this stage.
Currant Agrodolce
Sweat shallot and bloom currants
In a medium saucepan over medium heat add 1 tablespoon olive oil and 1 tablespoon butter. Add the minced shallot and cook 2–3 minutes until softened and translucent. Add the dried currants and cook, stirring, 1 minute to hydrate slightly.
Build sauce
Add red wine vinegar, brown sugar and the stock to the pan. Stir to combine and bring to a gentle simmer. Reduce heat to maintain a low simmer and cook 6–8 minutes until the currants are plump and the liquid reduces to a glossy, slightly syrupy sauce that will coat the back of a spoon. Season with 1/2 teaspoon salt and 1/4 teaspoon black pepper; taste and adjust sweet-sour balance if desired (add more vinegar for tang or a pinch more sugar for sweetness).
Finish sauce
If you prefer a smoother sauce, use an immersion blender for a few pulses to break down some currants, or leave as-is for texture. Keep warm over very low heat.
Finish & Serve
Combine meatballs and sauce
Gently nestle the browned meatballs into the warm currant agrodolce in the saucepan (or transfer sauce to the skillet used for browning if you prefer). Spoon sauce over the meatballs, cover, and simmer very gently 8–10 minutes until meatballs reach an internal temperature of 160°F (71°C) and mozzarella is melted inside. Turn meatballs once midway to coat evenly.
Plate and garnish
Transfer meatballs to a serving platter or shallow bowl and spoon remaining agrodolce over the top. Sprinkle with extra grated Parmesan, torn or chiffonaded basil leaves, and a crack of black pepper. Serve warm.
Make-ahead / reheating note
Meatballs can be cooked through and stored in the sauce in an airtight container in the fridge for up to 3 days. Reheat gently in a saucepan over low heat until warmed through, adding a splash of stock if sauce has thickened too much.