Soft fried dough and a rich filling make Meat-Filled Apulian Panzerotti traditional Italian turnovers filled with savoury beef, pork, Pecorino Romano, and mozzarella.

I’ve already shared a couple of sweet Carnevale recipes in the past, like Chiacchiere and Tortelli di Carnevale. Carnevale food in Italy, however, also includes plenty of savoury fried dishes.
These Meat-Filled Apulian Panzerotti come from the city of Bari in Puglia. They are made with soft fried dough filled with mince, mozzarella, Pecorino Romano, and nutmeg. Like many traditional Carnevale dishes from southern Italy, they are fried until golden and crisp.

These Meat-Filled Apulian Panzerotti are slightly different from classic panzerotti, as the filling here combines beef and pork instead of a simpler cheese filling. Pecorino Romano and nutmeg give the meat filling a richer savoury flavour commonly found in Carnevale panzerotti from Bari.

Melted mozzarella keeps the centre soft and savoury. Crisp fried dough gives them their classic texture. This is also another recipe from my Regional Italian Cuisine series featuring Puglia.
Serve them warm and enjoy them fresh from the frying pan, exactly how they’re meant to be eaten!
Why We Love These Italian Turnovers
- Smaller portions make them easy to pass around during family lunches and casual gatherings.
- Rich savoury filling turns these panzerotti into something more substantial than most fried snacks.
- Freshly fried panzerotti taste equally good as part of lunch, dinner, or an antipasto spread.
Key Ingredients for Meat-Filled Apulian Panzerotti
Ground Beef and Ground Pork
Using both beef and pork gives the filling a fuller and richer flavour. Beef keeps the filling savoury and hearty, while pork adds softness and moisture after frying. Ground meat with some fat gives the best texture and keeps the filling tender.
Mozzarella
Mozzarella cheese creates a soft, stretchy centre once melted. Bocconcini works particularly well because it holds its texture better and releases less moisture during frying.
Pecorino Romano
Pecorino Romano adds saltiness and a sharper savoury flavour to the filling. Its firm texture also gives the mixture a slightly richer consistency.
White Wine
White wine adds depth and balances the richness of the meat filling. Dry white wines such as Pinot Grigio or Sauvignon Blanc work particularly well.
Find the complete list with measurements in the recipe card below.
How to Make Meat-Filled Apulian Panzerotti
Filling
Step 1: Heat the extra virgin olive oil in a large pan over medium heat. Add the chopped onion and sauté for 5–7 minutes until soft and golden.
Step 2: Add the ground beef and pork to the pan. Break up any lumps with a wooden spoon, then cook over medium-high heat until browned. Pour in the white wine and continue cooking until the alcohol evaporates completely.
Step 3: Season with salt and pepper to taste. Continue cooking for a few more minutes until all the liquid evaporates and the filling looks dry. Remove from the heat and leave aside until completely cooled.

Step 4: Add the beaten egg, grated Pecorino Romano, and nutmeg to the cooled meat mixture. Stir until evenly combined, then set aside.

Dough
Step 1: Pour the lukewarm milk into a small bowl. Add the dry yeast and sugar, stir well, and leave aside for 5–10 minutes until frothy.
Step 2: Add the flour, salt, and extra virgin olive oil to the bowl of an electric mixer fitted with a hook attachment.
Step 3: Pour the frothy yeast mixture into the bowl and knead for several minutes until the dough becomes soft, elastic, and slightly tacky. If the dough feels dry or stiff, add 2–3 tablespoons of milk, one tablespoon at a time, until it reaches a pizza or bread dough consistency.
Step 4: Shape the dough into a ball and lightly dust it with flour. Place it in a warm spot and leave it to rise until doubled in size.

Assemble Panzerotti
Step 1: Transfer the risen dough to a lightly floured surface and divide it into 10 equal balls.
Step 2: Use a rolling pin to flatten each ball into a circle about 0.5 cm – 0.2 inch thick.
Step 3: Place a heaped tablespoon of filling in the centre of each dough circle, then top with chopped mozzarella.
Step 4: Fold the dough over the filling to form a half-moon shape. Press the edges firmly together, then crimp with your fingers to seal well.

Step 5: Heat vegetable oil in a deep pan until hot. Fry the panzerotti in batches until golden brown on both sides.
Step 6: Transfer the fried panzerotti to a plate lined with kitchen paper to drain excess oil.
Step 7: Serve warm.

Frequently Asked Questions
Vegetable oil or sunflower oil works particularly well because they handle high frying temperatures without affecting the flavour of the panzerotti.
Yes, but the texture will be different from the traditional version. Baked panzerotti turn softer and more bread-like, while frying gives them their classic crisp exterior and chewy centre. If baking, brush them lightly with olive oil and cook at 200°C – 400°F until golden.
Tomato and mozzarella are very common, while prosciutto cotto, ricotta forte with anchovy, slowly cooked onions, and broccoli rabe are also popular in Puglia. Ricotta and spinach are another common option for a meat-free filling.
Yes. Pizza dough works best because it gives a similar chewy texture once fried. Let the dough come to room temperature before rolling and filling so it stretches more easily without tearing. If you have extra time, you can also try using my homemade pizza dough recipe for a more traditional texture and flavour.
Press and crimp the edges firmly with your fingers before frying to help the panzerotti stay sealed while cooking. Keeping fillings like tomato passata or mozzarella well-drained also helps prevent excess moisture from weakening the dough.
Extra Help from the Kitchen
Use a Fork to Seal the Edges – Press the edges lightly with a fork after crimping to create a tighter seal and a more traditional finish.
Leave Space Around the Filling – Keep a small border of plain dough around the filling so the edges close more easily without tearing.
Turn the Panzerotti Carefully – Flip the panzerotti gently with a spider strainer or slotted spoon to help keep their shape while frying.
Check the Oil with a Small Piece of Dough – Drop a small piece of dough into the oil before frying. It should rise and bubble steadily without browning too quickly.
Drain the Mozzarella Well – Pat chopped mozzarella dry with kitchen paper before filling the panzerotti. Less moisture helps the dough stay crisp and makes sealing easier during frying.
Variations and Twists
Fold in Tomato and Mozzarella – Spoon 1 to 2 teaspoons of thick tomato passata into each panzerotto with the mozzarella and meat filling for a more classic Bari-style flavour. Use only a small amount because excess moisture can affect the seal during frying.
Prosciutto Cotto Filling – Stir finely chopped prosciutto cotto into the cooled meat mixture for a richer savoury filling that pairs well with mozzarella and Pecorino Romano. Mix it through with the egg and cheese rather than cooking it with the raw meats.
Use Ricotta Forte and Anchovy – Blend a small amount of ricotta forte with chopped anchovy into the cooled filling for a stronger Bari-style flavour. Use it sparingly because ricotta forte has a naturally sharp taste.
Incorporate Cooked Onions – Increase the onion slightly and cook it slowly until soft and deeply golden before adding the meat. Slowly cooked onions give the filling a sweeter, savoury flavour and softer texture.
Pair with Broccoli Rabe – Combine cooked, squeezed, and finely chopped broccoli rabe with the meat filling for a traditional Apulian flavour pairing. Dry the greens well first because excess moisture can make sealing difficult.
Storage and Shelf Life
Store leftover panzerotti in an airtight container in the fridge for up to 3 days. Refrigerate them within 2 hours of frying once they have cooled slightly.
Freeze completely cooled panzerotti for up to 2 months in freezer-safe containers or bags. Thaw overnight in the fridge before reheating.
Reheat in the oven at 180°C – 350°F until hot and crisp again. Avoid microwaving because the dough can become soft.
Italian Carnevale Sweets to Try Next
- Schiacciata alla Fiorentina
- Migliaccio
- Ravioli Dolci di Carnevale
- Pignoccata
- Tagliatelle Dolci di Carnevale

Meat-Filled Apulian Panzerotti Recipe
Equipment
Ingredients
Meat Filling
- 225 g – 8 oz ground beef
- 225 g – 8 oz ground pork
- ½ onion – chopped
- 2 tbsp extra virgin olive oil
- 50 ml – 1.7 oz white wine
- 1 egg – lightly beaten
- 125 g – 4.5 oz mozzarella – chopped (bocconcini works well)
- 8 tbsp Pecorino Romano – finely grated
- 1 pinch nutmeg
- salt and pepper – to taste
- vegetable oil – for frying
Dough
- 500 g – 1.1 lbs flour
- 250 ml – 8.5 oz lukewarm milk – plus 2–3 tbsp if needed
- 2 tsp salt
- 2 tsp sugar
- 4 tsp extra virgin olive oil
- 7 g – ¼ oz dry yeast
Instructions
Filling
- Heat the extra virgin olive oil in a large pan over medium heat. Add the chopped onion and sauté for 5–7 minutes until soft and golden.
- Add the ground beef and pork to the pan. Break up any lumps with a wooden spoon, then cook over medium-high heat until browned. Pour in the white wine and continue cooking until the alcohol evaporates completely.
- Season with salt and pepper to taste. Continue cooking for a few more minutes until all the liquid evaporates and the filling looks dry. Remove from the heat and leave aside until completely cooled.
- Add the beaten egg, grated Pecorino Romano, and nutmeg to the cooled meat mixture. Stir until evenly combined, then set aside.
Dough
- Pour the lukewarm milk into a small bowl. Add the dry yeast and sugar, stir well, and leave aside for 5–10 minutes until frothy.
- Add the flour, salt, and extra virgin olive oil to the bowl of an electric mixer fitted with a hook attachment.
- Pour the frothy yeast mixture into the bowl and knead for several minutes until the dough becomes soft, elastic, and slightly tacky. If the dough feels dry or stiff, add 2–3 tablespoons of milk, one tablespoon at a time, until it reaches a pizza or bread dough consistency.
- Shape the dough into a ball and lightly dust it with flour. Place it in a warm spot and leave it to rise until doubled in size.
Assemble Panzerotti
- Transfer the risen dough to a lightly floured surface and divide it into 10 equal balls.
- Use a rolling pin to flatten each ball into a circle about 0.5 cm – 0.2 inch thick.
- Place a heaped tablespoon of filling in the centre of each dough circle, then top with chopped mozzarella.
- Fold the dough over the filling to form a half-moon shape. Press the edges firmly together, then crimp with your fingers to seal well.
- Heat vegetable oil in a deep pan until hot. Fry the panzerotti in batches until golden brown on both sides.
- Transfer the fried panzerotti to a plate lined with kitchen paper to drain excess oil.
- Serve warm.
This post may contain affiliate links. If you purchase through these links, I may earn a small commission at no extra cost to you.















I was wondering if there was a non-alcoholic substitute for the white wine? Thanks!
Hi there! You can also skip the white wine all together! They’ll still taste great! 🙂
Buoni! Love panzerotti… still have to try the luini ones!
Looks delicious! I don’t eat pork, can I substitute chicken or just do beef?
You sure can! I would just use beef! 🙂
You sure can! I would just use beef! 🙂
These look yummy! And I’d definitely go with the fried versions, so much tastier. ;=) Funny I never had these as my paternal grandfather was from Grumo Appula, just a stone’s throw from Bari, but better late than never to get to know them!
This looks so delicious Manu, I might try it but baked 😉 sorry not keeping with tradition.
I really love your blog and all of the recipes you share. It has definitely expanded and informed my appreciation of Italian food. I was lucky enough to spend the last four days in Rome and got to enjoy some of the Carnevale activities. It was so much fun to watch the kids all dressed up and throwing confetti at eachother and everyone else within throwing distance. The looks of pure joy (and sometimes mischief!) on their faces were priceless. I had suppli and saltimbocca alla Romana – both delicious. Veal isn’t readily available where I live, but I’ll definitely be trying out your suppli recipe. They were so tasty and filling. I can’t wait to try making them at home. I just might try this panzerotti recipe too since I now have some Pecorino Romano in my fridge. Thank you for all that you share.