Description
These classic homemade meatballs are tender, juicy, and packed with Italian flavors. Perfect for spaghetti and meatballs, meatball subs, or appetizers. They’re easy to make and freeze beautifully for meal prep.
Ingredients
For the Meatballs:
- 1½ pounds ground beef (85/15)
- ¾ cup plain breadcrumbs
- ½ cup whole milk
- 2 large eggs, lightly beaten
- ½ cup freshly grated Parmesan cheese
- ¼ cup fresh parsley, finely chopped
- 3 cloves garlic, minced
- 1 small onion, finely minced or grated
- 1 teaspoon Italian seasoning
- 1 teaspoon salt
- ½ teaspoon black pepper
- 2 tablespoons olive oil (for browning)
For Serving:
- 4 cups marinara sauce (store-bought or homemade)
- Cooked spaghetti or pasta
- Extra Parmesan cheese for serving
- Fresh basil for garnish
Instructions
Step 1: Prepare the Panade
In a small bowl, combine breadcrumbs and milk. Stir well and let sit for 5 minutes until the breadcrumbs absorb all the milk and become pasty. This mixture (called a panade) is the secret to incredibly tender meatballs.
Step 2: Mix the Ingredients
In a large mixing bowl, combine ground beef, soaked breadcrumbs, beaten eggs, Parmesan cheese, parsley, garlic, onion, Italian seasoning, salt, and pepper. Using your hands or a fork, gently mix until just combined. Do not overmix or meatballs will be tough – stop as soon as you no longer see streaks of egg or dry breadcrumbs.
Step 3: Form the Meatballs
Using a 2-tablespoon cookie scoop or your hands, portion and roll mixture into balls about 1½ inches in diameter (roughly the size of a golf ball). You should get about 24 meatballs. Place formed meatballs on a plate or baking sheet. Wet your hands slightly if mixture sticks.
Step 4: Brown the Meatballs (Stovetop Method)
Heat olive oil in a large skillet over medium-high heat. Working in batches to avoid overcrowding, add meatballs and cook for 2-3 minutes per side, turning carefully with tongs, until browned on all sides. They don’t need to be cooked through yet – just browned for flavor. Transfer browned meatballs to a plate.
Step 5: Simmer in Sauce
In a large pot or Dutch oven, bring marinara sauce to a gentle simmer over medium heat. Carefully add all the browned meatballs to the sauce. Reduce heat to low, cover, and simmer for 20-25 minutes, stirring occasionally, until meatballs are cooked through (internal temperature of 165°F) and tender.
Step 6: Serve
Serve meatballs hot over cooked spaghetti or your favorite pasta, spooning plenty of sauce over everything. Garnish with freshly grated Parmesan cheese and torn fresh basil. Enjoy immediately!
Alternative Oven Method:
Preheat oven to 400°F. Place formed meatballs on a parchment-lined baking sheet and bake for 20-25 minutes until cooked through and lightly browned. Then add to simmering marinara sauce for 10 minutes to absorb flavors.
Notes
- Don’t Overmix: Mix ingredients just until combined. Overmixing develops gluten and creates tough, dense meatballs.
- Uniform Size: Using a cookie scoop ensures all meatballs are the same size so they cook evenly.
- Browning is Optional: You can skip browning and bake or simmer directly in sauce, though browning adds deeper flavor.
- Internal Temperature: Meatballs are safely cooked when they reach 165°F internally.
- Make-Ahead: Form meatballs and refrigerate up to 24 hours before cooking, or freeze unbaked for up to 3 months.
- Gluten-Free: Use gluten-free breadcrumbs for an easy gluten-free version.
- Meat Mixture Test: If unsure about seasoning, cook a small piece of the mixture in a skillet, taste, and adjust seasonings before forming all meatballs.
- Prep Time: 15 minutes
- Cook Time: 30 minutes
- Category: Dinner
- Method: Stovetop
- Cuisine: Italian
Nutrition
- Serving Size: 4 meatballs with ⅔ cup sauce
- Calories: 385
- Sugar: 6g
- Sodium: 785mg
- Fat: 22g
- Saturated Fat: 8g
- Unsaturated Fat: 12g
- Trans Fat: 0g
- Carbohydrates: 18g
- Fiber: 2g
- Protein: 28g
- Cholesterol: 145mg