This is the very best meatball recipe I've ever made. These juicy, savory, and perfectly tender meatballs are so easy to make, and just absolutely delicious!
Before you do anything else, add breadcrumbs and milk to a large bowl and stir to combine. Let them soak while you continue.
Make Flavor Base
In a large pot or Dutch oven, heat the 1/2 cup olive oil over medium heat. Add the finely chopped onion and cook for 6-8 minutes, stirring occasionally, until softened and translucent. Add garlic and stir for 2 minutes until fragrant.
Scoop out half of the cooked onion and garlic mixture and add it to the bowl with the milk-soaked breadcrumbs.
Leave the rest in the pot on medium heat.
Make the Tomato Sauce
Add the tomatoes with their juices to remaining onion, garlic and oil in the pot. Stir in the salt and basil, cover partially, and bring to a simmer. Puree with an immersion blender (or carefully in batches using a regular blender), if desired.
Let the sauce cook on low while you prepare the meatballs.
Prepare the Meatball Mixture
Stir the eggs into the breadcrumb mixture with a fork, then add the ground meat, parmesan, parsley, salt, and black pepper. Gently mix with your hands until just combined.
Shape the mixture into 2-inch meatballs and place them on a plate or tray. You'll get about 24 meatballs.
Optional: Freeze for 5 minutes (this helps them hold their round shape).
Brown the Meatballs
Preheat a large skillet over medium heat for 4-5 minutes, then add the oil.
Once the oil is shimmering hot, add the meatballs in batches and cook until browned on all sides, about 6-8 minutes per batch.
Transfer the browned meatballs to the simmering tomato sauce. Discard the meatball cooking oil (it will not add good flavor to the sauce).
Simmer the Meatballs
Gently stir the meatballs into the sauce to coat them evenly. Cover partially and simmer for 20 minutes until the meatballs are cooked through (to 165ºF).
Taste and adjust seasoning to taste. I like to add a little splash of soy sauce if the sauce needs more salt - this gives an umami boost in addition to the salt.
Video
Notes
If you aren't making Italian meatballs, you can finish cooking them in the oven at 350ºF until they reach 165ºF internal temp, or else finish cooking them in your preferred sauce.Baking soda:Canned tomatoes taste extra acidic because they have acidity regulators added for food safety. Because of that, they can taste tinny or sour, or just imbalanced in a sauce. A 1/4 tsp of baking soda neutralizes that added acid so you taste the sweetness of ripe tomatoes and richness of the garlic-infused olive oil. It's an amazing secret ingredient!Oils Needed:To fry meatballs, use an oil with a high smoke point, like avocado oil, canola oil, or light olive oil. Avoid extra virgin olive oil, which can burn at high heat.Extra virgin olive oil is used in the sauce to add that classic italian flavor and to add body and richness to the sauce. It makes a big difference in balancing the acidity of the tomatoes - don't question the quantity or skip it!Tips for Rounder Meatballs:Press the mixture together tightly when forming the meatballs, but not too hard. If the meatballs are loose, they’ll collapse during frying.Once you shape the meatballs, place them in the freezer for 10 minutes. Chilling helps them firm up so they hold their round shape during frying.Place them on the hot pan on their side (i.e. not the flat bottom that was agains't the plate.)Don’t wait too long to turn the meatballs. Turn them gently constantly while cooking instead of letting one side cook completely. This prevents one side from getting too flat and encourages a rounder shape. It's like rolling a snowman!