Super soft, juicy and oh-so-tasty traditional homemade Italian meatballs without the faff. If this sounds good to you, you've landed in the right place. Made with milk-soaked sandwich bread to get them nice and tender and generously seasoned with herbs and Parmesan so that they are practically bursting with flavour.
These super moist meatballs require just 10 core everyday ingredients and are ready in less than 40 minutes. Plus there are instructions for pan-frying, baking or air-frying to ensure your meatballs are cooked to perfection.
For more speedy and delicious Italian-inspired recipes try my Broccoli Pasta with Sausage, Creamy Tomato Passata Pasta, and Creamy White Wine Pasta Sauce With Butter and Garlic.
The post contains additional information and helpful tips to ensure the recipe turns out great the first time. Please use the link above to jump to the recipe card at the end if you are in a hurry!
- ✅ 7 reasons why you'll love this recipe:
- 3 secrets to perfect homemade meatballs
- 🛒 Recipe Ingredients
- 🧑🍳 Recipe steps
- 🍝 What to serve with meatballs
- 👍 Top tips
- Other meatball recipes to try:
- 🙋 FAQs
- ❄️ Freezing instructions:
- 😋 Other easy and Italian-inspired dinner recipes
- 📖 Recipe
- Traditional Homemade Italian Meatballs With Milk Soaked Bread
✅ 7 reasons why you'll love this recipe:
- Super soft and tender - with a panade of milk-soaked sandwich bread
- Full of flavour - seasoned generously with fresh herbs and Parmesan
- Quick and easy
- Uses simple everyday ingredients
- Make ahead and freezer friendly
- Includes stove, oven and air fryer cooking instructions
3 secrets to perfect homemade meatballs
After lots of experimentation, I identified 3 key things that make meatballs juicy, tender and tasty.
- Sandwich bread panade: some recipes use milk-soaked panko breadcrumbs but the meatballs are noticeably softer and juicier with a humble slice of white bread (without the crusts)
- Grated onion: because it blends really nicely with the other ingredients and reduces any risk of finding raw chunks of onion in your meatballs.
- Generous seasoning: with lots of herbs and Pecorino/Parmesan cheese as well as garlic, onion, salt and pepper.
🛒 Recipe Ingredients
My meatball recipe uses simple ingredients that will be easy to find at your local store.
After several attempts, I found that equal amounts of beef and pork is where it's at. All beef works well too, but I really like the savory flavor and juiciness the pork adds.
Top tip: Avoid lean ground meat. Whether your meatballs are all beef or a mixture of beef and pork, aim for a fat content of around 20% to ensure your meatballs are super soft and succulent.
Milk soaked white bread
My recipe uses milk, white bread and egg to hold the meatballs together.
I tested the recipe with breadcrumbs and white bread and found that the meatballs made with bread were a strong winner and significantly softer.
Fresh parsley, dried oregano, Parmesan, grated onion and garlic make the meatballs tasty and flavourful. I recommend using fresh parsley, but you can substitute it for dry, just ensure you use a third of the amount so it isn't overpowering.
🧑🍳 Recipe steps
1. Soak the bread in milk
Pour milk over the bread and leave it to soak for 10 minutes while you prep the other ingredients. Then mash it into a smooth paste using a fork.
Add the other ingredients to the bowl and mix gently using your hands.
Form the mixture into golf ball-sized balls using your hands, an ice cream scoop or a cookie scoop.
Bake the meatballs at 400°F or 200°C for around 20 minutes, broiling for a couple of minutes to brown them if needed, or pan fry on a medium to high heat for 10-15 minutes.
Air fryer instructions:
I can tell you from experience that air-fried meatballs are just as soft and juicy as oven baked and pan-fried. What's more, it's the quickest way to cook them. Simply spray the air fryer basket with olive oil spray, set the air fryer to 400°F or 200°C and cook for 7-10 minutes turning halfway.
🍝 What to serve with meatballs
I love to eat these meatballs with spaghetti and my Tomato and Balsamic Meatball Sauce, but they can also be enjoyed as a meatball sub or with a creamy sauce and mashed potatoes (Swedish style).
👍 Top tips
- Don't use lean meat - fat is needed to make the meatballs moist and juicy. Use meat that is around 20% fat.
- Grate the onions - it might seem like a hassle and does create a little more washing up but it's well worth it if you're not a fan of discernable chunks of onion in your meatballs.
- Use a cookie scoop or ice cream scoop to form the meatballs - these tools are great for getting perfectly round meatballs, otherwise wet hands also do the job.
- Avoid overcooking- a perfectly soft and juicy meatball has an internal temperature of 165˚F or (74°C).
Other meatball recipes to try:
American and Italian meatballs share many of the same ingredients. Italian meatballs are often made with a mixture of ground beef and pork, bread, milk, egg and seasoned with Parmesan and herbs like parsley and oregano.
This depends on the type of meatball. For meatballs made from meat with higher fat content like beef or pork both baked and pan-fried meatballs will be soft and succulent. When it comes to meatballs made with leaner meats like chicken and turkey baking is likely to result in dryer meatballs.
Although you can cook meatballs in sauce (if you simmer them for long enough). The best method is to brown them first and finish them off in the sauce to get meatballs that have a good texture on the outside that are still soft and juicy on the inside.
Meatballs (or polpette as they are referred to in Italy) can be traced back to the Roman Empire and are traditionally served with bread. However, you won't find spaghetti meatballs in Italy. These were created by Italian immigrants in New York around 1880 when meat was abundant and spaghetti was cheap.
Meatballs create tasty leftovers and freeze well so are an ideal candidate for a make-ahead meal and batch cooking. Cooked meatballs will keep in the fridge for up to 3 days and can be reheated on the stove or in the microwave.
❄️ Freezing instructions:
Both cooked and raw meatballs can be frozen for up to 3 months.
Freezing cooked meatballs
My preference is to freeze the cooked meatballs in marinara sauce and reheat in a saucepan or the microwave. It's worth making a large batch and storing a few portions in the freezer for speedy weeknight dinners.
To freeze cooked meatballs without sauce, place them onto a baking sheet lined with parchment paper. Put them into the freezer when cool and transfer them to a freezer bag or airtight container once frozen.
Freezing uncooked meatballs
Form the meatballs, place on a baking sheet lined with parchment paper and place them in the freezer for a few hours. Once they are frozen, you can put them into a freezer bag or container.
😋 Other easy and Italian-inspired dinner recipes
Tasty, nourishing and easy to make, my comfort food recipes are guaranteed to warm your body and soul.
Did you try this recipe? It would be really great if you could leave a comment and a star rating ⭐️. I would love to receive your feedback and know that other readers find it helpful too.
Don't forget to tag #knifeandsoulrecipes on Instagram or @knifeandsoul on Pinterest!
Traditional Homemade Italian Meatballs With Milk Soaked Bread
- cookie scoop or ice cream scoop (optional)
- 1 piece white bread crusts removed (Note 1)
- 100 ml (⅓ cup) milk
- 500 g (18 oz) ground beef or half beef half pork (Note 2)
- 1 onion finely chopped or grated
- 3 cloves garlic
- 45 g (½ cup) parmesan or pecorino finely grated
- 1 egg
- 2 tbsp fresh parsley (Note 3)
- 2 tsp dried oregano
- ½ tsp salt
- ½ tsp black pepper
- 2 tbsp oil for frying if using pan frying cooking method
- Pour the milk over the bread and leave it to soak in for 10 minutes while you prep the other ingredients.
- Mash the bread and milk together to form a paste.
- Add the remaining ingredients, mix thoroughly using your hands.
- Form the mixture into golf-ball sized balls using a cookie scoop, ice cream scoop or wet hands.
- Cook the meatballs using one of the methods below until the meatballs have an internal temperature of 165°F or 75°C.
- Place a frying pan on a medium to high heat and add oil. Add the meatballs when the oil is hot and fry for approximately 10 minutes, turning regularly until brown on all sides. Be careful not to crowd the pan. You might need to do this in two batches.
- Bake the meatballs at 400°F or 200°C for around 20 minutes, broiling for a couple of minutes to brown them if needed.
- Spray the air fryer basket with olive oil, set the air fryer to 400F or 200C and cook for 7-10 minutes, turning halfway.
- Bread: a slice of ordinary white sandwich bread works well. Just ensure you remove the crusts first. It's fine if it's a little stale.
- Meat: For best results use ground beef and ground pork. The pork adds flavor and its high fat content helps to make the meatballs more succulent. All beef is fine too.
- Parsley: fresh is recommended but can be substituted with 1 third of the amount of dried parsley.