Lamb Meatballs in Tomato-Basil Sauce over Spaghetti Squash
Tender herbed lamb meatballs, bound with almond flour and grated onion, simmered in a garlicky crushed-tomato sauce finished with torn basil and spooned over roasted spaghetti squash strands.
Why You'll Love This Recipe
Meatballs and red sauce, warm and hearty, with no bowl of pasta sitting underneath them. Roasted spaghetti squash stands in for the noodles, catching the sauce in its mild, faintly sweet strands, while the lamb brings a richer, more savory depth than the usual beef or pork. It suits a relaxed weeknight dinner but is substantial and a little special, so it holds up for guests too.
The meatballs get browned before they ever meet the sauce. That hard sear on the outside develops color and a layer of deep, roasted flavor, and the fond left behind in the pan dissolves into the crushed tomatoes when you deglaze, seasoning the whole sauce. Splitting the garlic in two is deliberate as well: the portion cooked into the meat mellows and sweetens, while the portion bloomed in the hot skillet just before the tomatoes go in keeps a brighter, sharper edge. Finishing with torn basil off the heat preserves its fresh perfume instead of cooking it flat.
What makes the dish satisfying is the balance of mild squash strands against rich, well-seasoned meat. Lamb is a source of protein and iron, the squash brings gentle fiber and a light, almost airy body that keeps the plate from feeling heavy, and the tomatoes contribute brightness and lycopene. Almond flour quietly binds the meatballs while adding a little healthy fat, and the olive oil rounds everything out. You finish the plate full but not weighed down.
Ingredients
- 1 1/4 lb ground lamb
- 1 large spaghetti squash, roasted
- 1 2/3 cups crushed tomatoes
- 1 egg
- 1/3 cup almond flour
- 1 small onion, grated
- 4 cloves garlic, minced
- 2 tbsp olive oil
- 1 tbsp dried oregano
- 1/3 cup torn basil
Instructions
- Roast the squash: Preheat the oven to 400°F (200°C). Halve the spaghetti squash lengthwise and scoop out the seeds with a spoon. Rub the cut faces with a little of the olive oil, place them cut-side down on a rimmed baking sheet, and roast until the flesh is tender and yields when pressed, about 35 minutes. Let cool a few minutes, then drag a fork lengthwise through the flesh to pull it into long strands; set the strands aside.
- Prep the aromatics: While the squash roasts, peel and grate the onion on the large holes of a box grater so it breaks down into a wet pulp. Peel and mince the garlic, keeping it in two portions since half goes into the meatballs and half into the sauce. Tear the basil into rough pieces and set it aside for finishing.
- Mix and form the meatballs: In a bowl, combine the ground lamb, egg, almond flour, grated onion, half of the minced garlic, and the dried oregano. Mix gently with your hands just until evenly blended; overworking makes the meatballs dense. With damp hands, roll the mixture into evenly sized balls so they cook at the same rate.
- Brown the meatballs: Warm the olive oil in a large skillet over medium-high heat. Add the meatballs in a single layer, leaving space between them, and cook without moving until a deep brown crust forms underneath, then turn to brown the other sides, about 6 to 8 minutes total. They will not be cooked through yet; browning builds flavor and color.
- Build the sauce and simmer: Add the remaining minced garlic to the skillet and stir for about 30 seconds until fragrant. Pour in the crushed tomatoes, scraping up the browned bits from the bottom of the pan, and bring to a gentle simmer. Cook, turning the meatballs once, until the sauce has thickened slightly and the meatballs are cooked through, about 15 minutes; they should register 160°F (71°C) at the center and no longer look pink inside.
- Finish and serve: Turn off the heat and stir the torn basil into the sauce so it wilts and releases its aroma. Pile the roasted spaghetti squash strands onto plates or a platter, spoon the meatballs and tomato sauce over the top, and serve warm.
Variations
- Spicy arrabbiata: Add a pinch of crushed red pepper flakes to the garlic just before the tomatoes go in for a warming heat that plays well against the rich lamb.
- Beef and lamb blend: Swap part of the lamb for ground beef if you want a milder, more familiar meatball while keeping some of the lamb's depth. This still keeps the dish centered on red meat.
- Fresh tomato sauce: In peak summer, replace the crushed tomatoes with ripe tomatoes you have blanched, peeled, and chopped, simmered a few minutes longer to break down into a looser, brighter sauce.
- Rosemary and mint: Trade the oregano for chopped fresh rosemary in the meatballs and stir a little torn mint in with the basil at the end, a classic pairing with lamb that leans herbal and fresh.
- Roasted vegetable base: Serve the meatballs and sauce over roasted zucchini ribbons or sautéed shredded cabbage instead of the squash when you want a different vegetable underneath.
Storage & Leftovers
Keep leftovers in an airtight container in the refrigerator for up to four days. Store the meatballs and sauce together, and hold the roasted squash strands in a separate container so they do not turn soggy sitting in the sauce.
To reheat, warm the meatballs and sauce gently in a covered skillet or saucepan over medium-low heat, adding a splash of water if the sauce has tightened, until heated through. Warm the squash separately in the microwave or a dry skillet for a minute or two, then plate and combine so the strands stay distinct.
To get ahead, roast the squash and shape the raw meatballs up to a day in advance and refrigerate them covered. You can also make the full batch of meatballs and sauce ahead; it keeps well and the flavor deepens overnight, leaving only the squash to reheat at dinnertime.
Notes & Tips
- Pick the right squash: Choose a spaghetti squash that feels heavy for its size with a firm, unblemished rind and a dry, intact stem; those roast into cleaner, longer strands and taste less watery.
- Keep the meatballs tender: The grated onion pulp adds moisture that keeps the lamb from turning tight and dry, so do not wring it out; mix everything just until combined and stop.
- Test one meatball first: To check your seasoning before committing the batch, cook a small pinch of the raw mixture in the skillet, taste it, and adjust the salt or oregano in the bowl accordingly.
- Drain the squash if it is wet: If the roasted strands release a lot of liquid, let them sit in a colander for a few minutes or blot with a towel so the finished plate does not get watery under the sauce.
- Let the sauce carry the salt: Lamb and crushed tomatoes both bring their own savoriness, so season the sauce gradually and taste near the end rather than salting heavily up front.
- Serve something alongside: A simple green salad or a handful of bitter greens wilted in olive oil rounds out the plate and cuts the richness of the lamb.
Nutrition & Mindful Eating
- The meatballs, the sauce and the squash each do a different job here. The lamb brings the savory depth, the tomatoes bring sweetness and acid, and the squash gives you strands that catch all of it, so protein, fiber and fat land on the fork together.
- Ground lamb has a deeper, faintly sweet flavor that stands up to oregano and garlic, and it holds its juiciness through baking. It is a complete protein and carries iron in the form your body takes up most readily.
- Spaghetti squash pulls apart into pale golden strands once it has roasted, mild and a little sweet with some bite left in them, and the water and fiber it holds make it a generous base for the sauce.
- Crushed tomatoes cooked down in olive oil turn rounder and sweeter as they reduce, and the oil draws out their lycopene so your body can use it. That slow simmer is where the sauce gets its color and its body.
- Dried oregano goes in with the meat where it has time to soften, and the fresh basil is torn over at the end so it stays green and perfumed. Onion and garlic underneath the whole thing give the sauce its savory floor.
- As you eat, notice how the squash strands wind around the sauce and how the basil reaches you before the first bite, and give yourself the length of the meal rather than eating it standing over the pan.
Frequently Asked Questions
Why use lamb instead of beef for the meatballs?
Lamb has a richer, more savory flavor that stands up well to tomato and basil, and it keeps the meatballs juicy. If you prefer something milder, you can blend it with ground beef, though that shifts the character of the dish.
My spaghetti squash came out watery. What happened?
Squash can hold a lot of moisture, especially if slightly underripe. Roast it until fully tender so the flesh separates cleanly, and if the strands still weep, let them drain in a colander or blot them before plating.
Can I make the meatballs without almond flour?
The almond flour binds the mixture and helps hold moisture. If you leave it out, add a bit more of the grated onion for moisture and handle the meatballs gently, as they will be a little more delicate when browning.
How do I know the meatballs are fully cooked?
After simmering in the sauce, they should be firm, no longer pink in the center, and register 160°F (71°C) on an instant-read thermometer inserted into the middle of the largest one.

