Ingredients
Equipment
Method
- In a large bowl, combine ground beef, ground pork, breadcrumbs, Parmesan, egg, minced garlic, oregano, salt, and pepper. Mix gently with your hands until just combined—overmixing makes tough meatballs.
- Roll mixture into 1.5-inch meatballs (about 24 total). Place them on a baking sheet lined with parchment.
- Heat olive oil in a large skillet over medium-high heat. Add meatballs in a single layer (work in batches if needed). Cook 2-3 minutes per side until browned all over. They don't need to be cooked through yet.
- Remove meatballs to a plate. Reduce heat to medium. Add crushed tomatoes and tomato sauce to the skillet. Stir in sugar and dried basil. Scrape up any browned bits from the bottom—that's flavor.
- Return meatballs to the sauce. Bring to a gentle simmer, then reduce heat to low. Cover and cook for 20 minutes, stirring occasionally, until meatballs are cooked through and sauce has thickened.
- Meanwhile, bring a large pot of salted water to a boil. Cook spaghetti according to package directions until al dente. Drain, reserving 1/2 cup pasta water.
- Toss spaghetti with a little sauce and pasta water if needed to loosen. Serve meatballs and sauce over spaghetti. Top with Parmesan and fresh herbs if desired.
Notes
Storage: Keep leftovers in an airtight container in the fridge for up to 3 days. Meatballs freeze beautifully—place cooled meatballs in a single layer on a baking sheet, freeze until solid, then transfer to a freezer bag for up to 3 months. Reheat gently in sauce on the stovetop. For dairy-free, omit Parmesan or use a dairy-free alternative. For egg-free, substitute with 1 tablespoon ground flaxseed mixed with 3 tablespoons water (let sit 5 minutes).
