Italian meatballs are one of those hearty meals that will warm the soul, especially on a cold winter’s night. The best part about making meatballs? They’re incredibly easy to whip up – an ideal mid-week dinner when time isn’t your friend. Make a batch on a lazy Sunday and keep them in the fridge (or freezer) for the next time you’re in a hurry.

This meatball recipe makes some of the juiciest, flavor-packed balls you’ll ever have the chance to eat. Be sure to also read our handy tips below the recipe – they’ll help take your balls to a new level of delicious. Let’s get started!

Classic Italian meatballs

Prep time: 10 minutes. Cook time: 20 minutes.


The meatballs:

  • 1 small brown onion, diced finely
  • 4 garlic cloves, minced
  • 4 slices of white bread, crusts removed
  • 1/3 cup whole milk
  • 3 large eggs
  • 1 Tbsp olive oil
  • 1 lb ground beef
  • ½ lb ground veal
  • 3 Tbsp continental parsley, chopped
  • 2 Tbsp grated Parmesan cheese
  • 1tsp kosher salt
  • ½ tsp cracked black pepper

The sauce:

  • 3/4 cup brown onion, finely chopped
  • 2 garlic cloves, minced
  • 1/2 cup water
  • 24 oz / 700 g tomato passata
  • 1 tsp chili flakes
  • 3 tsp dried Italian herb mix
  • 1 tsp salt
  • ½ tsp black pepper

To serve:

  • Pasta of your choice
  • Parmesan cheese, grated
  • Handful of basil leaves and fresh parsley for garnish


  1. To make the meatballs, add olive oil to a pan on a medium-high and fry the diced onion for one minute then add the garlic and cook until soft, then remove from stovetop and allow to cool fully.
  2. Break bread slices into small pieces and add to a large bowl with the milk. Allow to soak for 5 minutes, then add the eggs and beat until combined.
  3. Combine the milk and bread with the onion, garlic, ground meat, parsley, Parmesan, salt, and pepper then mix with your hands until combined. Make small round balls of meat with your hands and place them on a lined baking sheet until you’re ready to cook them.
  4. Place meatballs in a large skillet and cook on medium-high heat until browned all over. This takes 2-3 minutes. Transfer to a plate and set aside.
  5. For the sauce, add a splash of olive oil to a clean pan on medium-high heat and toss in the onion and garlic, cooking until translucent. Add the water, passata, chili, herbs, salt, and pepper and stir until simmering, then reduce heat to medium. Add the meatballs and cook for 8-10 minutes, occasionally stirring.
  6. As the meatballs cook, boil the pasta as per packet instructions then drain once ready.
  7. Serve meatballs in a bowl on top of spaghetti. Sprinkle over parmesan, basil leaves and chopped parsley.

Related reading
Tomato sauce vs tomato paste – how do they differ?
Learn how to thicken tomato sauce with our handy guide.
If you’re making homemade tomato sauce then we reveal a simple technique for peeling the tomatoes the easy way.

Ground beef and veal in a pot with parsley
Use 2 parts beef to 1 part veal for meatballs.

6 tips to make your best meatballs ever

1. Do a taste test

Before forming the balls fry a spoonful of the seasoned meat mixture for a taste test. Adjust seasoning if necessary. It may seem like extra work, but you’ll never have to eat meatballs that lack flavor again.

2. Grind your own meat

If you own a meat grinder, then pay a visit to your local butcher and get some fresh beef and pork, suitable for making meatballs. Freshly ground meat straight from your own grinder just tastes better. Don’t have a grinder? Visit the local butcher and buy some already ground.

A meat grinder and a bowl of ground meat
Fresh is always best.

3. Spice things up

If you enjoy spicy food then toss in one teaspoon of chili flakes or paprika. Add extra if you think you can take it. To get some quick ideas for developing your cooking skills, see our list of ideas to improve the flavor of food.

4. Consider baking them?

Cooking meatballs on the frying pan can get a little messy, thanks to fat spattering everywhere. An alternative to frying is to bake in the oven at 410°F (210°C) for 15 minutes, or until just cooked inside.

5. Cool pre-cooked ingredients

Allow the pre-cooked onion to completely cool before incorporating it into the meat. Also, use a chilled bowl for mixing up the ingredients to help keep the fat in the meat from breaking down.

6. Scoop even sized balls

Use an ice cream scoop to make evenly-sized balls. When you form them, splash a little olive oil on your hands so that the meat doesn’t stick to them. The most important thing to remember when forming the meatballs is to gently form them without compacting the meat too tightly. Squeezing them too tight will result in rubbery meat, once cooked.

Raw meatballs on a chopping board
Use an ice cream scoop to portion control the mixture.

Are Italian meatballs healthy?

Meatballs are high in protein (16g/serving) and iron (1.2mg per serving). However, eat this meal in moderation as it also contains moderate levels of sodium and saturated fat. A healthy serving size is around six small meatballs, all of them weighing around 3½ oz (100g) in total.

What is the best meat for meatballs?

Meat choice can have a big impact on the flavor and texture of the final balls. Fatty meat such as pork, veal, or beef are excellent choices. The fat is important to avoid crumbly and dry meatballs. After various tests, we have found beef with some extra veal is a perfect mix for flavor and texture. Avoid the meat packaged in a tube as it has already been compacted and will result in tough, chewy meatballs.

Did you know?
During a quiet few hours over the weekend, you could also make a dish of chilli beans and some tuna salad mix for making tuna subs. Now you’ve got most of the meals covered for the week.

What if I don’t have any passata?

If you don’t have any passata in the cupboard, you can also use crushed canned tomatoes or turn your own fresh tomatoes into a sauce.

A frying pan with cooked meatballs next to a plate of spaghetti
Is there a better looking meal than classic Italian meatballs?

Summing up

This homemade Italian meatball recipe is a flavorsome, soul-warming dish that any beginner cook can make. Although it is simple, the result is food that even the fussiest eater won’t be able to resist. For busy people, this is an excellent make-ahead option that you can freeze, then reheat to its former glory without any unpleasant mushy textures; don’t freeze the pasta though – cook that fresh!

What is your favorite savory Italian dish that everyone loves? Please let us know in the comments below.


4.3/5 (3 Reviews)
Previous articleSubway Tuna Recipe
Next articleSimple Oyster Chowder Recipe
Nate Teague is a food writer who has been working in the food industry for the past decade. He writes for various cooking blogs and has a passion for making fine dining recipes accessible to the at-home cook.