Ingredients
Method
Preparation
- In a medium bowl, combine the milk and eggs, beating them together. Tear the bread into small pieces and mix it into the milk. Set it aside for about 5 minutes to soak.
- In a large bowl, add the ground beef, grated onion, Parmesan, parsley, salt, and pepper. Now, add the soaked bread mixture and gently combine all the ingredients. Be careful not to overmix! Form the mixture into meatballs about 1.5 inches in diameter.
Cooking the Meatballs
- In a large Dutch oven, heat 2 tbsp of olive oil over medium-high heat. Brown half of the meatballs, turning them until they are golden on all sides (about 6-8 minutes). Transfer to a plate. Repeat with the remaining meatballs.
Making the Sauce
- Wipe out the pot and add the remaining 1/2 cup of olive oil and the coarsely chopped onion. Cook until the onion is soft, about 6 minutes. Add the garlic and cook for another minute until fragrant.
- Pour in the tomatoes along with their juice, bringing the mixture to a boil. Puree the sauce using an immersion blender (or carefully transfer it to a countertop blender). Return the sauce to the pot, add the browned meatballs, and let everything simmer gently for about 25 minutes. Season with salt and stir in fresh basil just before serving.
Cooking the Spaghetti
- While the sauce is simmering, cook 1 lb of spaghetti in salted boiling water according to package instructions until al dente. Drain the pasta and mix with a drizzle of olive oil if you wish.
Serving
- Plate the spaghetti and generously top with meatballs and sauce. Garnish with additional grated Parmesan and fresh basil if desired. Enjoy with crusty bread or a side salad.
Notes
Tips: Use fresh ingredients when possible, especially with tomatoes and herbs, as they significantly impact the taste. Let your meat and eggs sit at room temperature for about 15 minutes before using them. Leftover spaghetti and meatballs can be stored in an airtight container in the fridge for up to 3-4 days. Can also be frozen for up to 3 months.
