Try my new budgeting app Cheddar 🧀
Better than YNAB, Mint (RIP), or EveryDollar.
4.5
(50)
Export 20 ingredients for grocery delivery
Step 1
Heat oil in a large heavy pot over medium-low. Cook garlic, stirring occasionally, until a few pieces are golden brown around the edges, about 5 minutes. Add basil sprigs and stir to wilt. Add tomatoes, crushing with your hands as you go, and their juices; season with salt and pepper. Increase heat to medium-high; bring mixture to a simmer, then reduce heat to maintain a very gentle simmer. Cook, stirring occasionally, until sauce is thickened and flavors have concentrated, 60–75 minutes.
Step 2
Do Ahead: Sauce can be made 3 days ahead. Let cool; cover and chill.
Step 3
Run bread under cold running water until completely soaked. Firmly wring out to expel as much water as possible. Finely chop, then mix in a large bowl with eggs, garlic, ricotta, prosciutto, parsley, and ⅓ cup Parmesan.
Step 4
Finely grind fennel seeds in spice mill or with mortar and pestle; add to bread mixture along with oregano, nutmeg, black pepper, red pepper flakes, and 1¼ tsp. salt. Mix well (it should resemble a coarse, wet paste). Add beef and break up into small pieces (a couple of forks work well). Mix gently with your hands until smooth and ingredients are evenly incorporated; be careful not to overmix.
Step 5
Lightly oil your hands. Working one at a time, scoop out portions of meat mixture with a ¼-cup measuring cup; roll gently between your hands into balls. Arrange on a rimmed baking sheet.
Step 6
This is the point where you should get the sauce reheating, if needed, so it’s warm by the time you add the meatballs.
Step 7
Heat 1 Tbsp. oil in a medium nonstick skillet over medium. Add half of the meatballs and cook, turning and rolling occasionally, until browned on all sides, about 5 minutes total. Add meatballs to warm sauce. Repeat with remaining 1 Tbsp. oil and remaining meatballs.
Step 8
Cook meatballs in sauce (they should be mostly submerged) at a gentle simmer, carefully scraping bottom of pot and adding a splash of water if sauce begins to stick, until meatballs are cooked through and tender and sauce tastes rich and meaty, 40–50 minutes.
Step 9
Transfer meatballs to a clean baking sheet; cover with foil to keep warm. Pluck out and discard basil from sauce. Use a potato masher or immersion blender to break up any large pieces of tomato and smooth out sauce. Transfer 2 cups sauce to a small bowl; set aside for serving.
Step 10
Cook spaghetti in a large pot of boiling salted water, stirring occasionally, until al dente. Using tongs, transfer to pot with sauce. Gently stir, adding pasta cooking liquid by the tablespoonful as needed, until sauce coats pasta. Transfer spaghetti to a serving dish and top with meatballs and 1 cup reserved sauce. Sprinkle with more Parmesan and serve with some basil (if using) and remaining sauce alongside for topping.
Step 11
Do Ahead: Meatballs can be formed 1 day ahead; cover and chill. Meatballs can be cooked in sauce 3 days ahead; let cool, then cover and chill.