Lamb Meatballs over Zucchini Noodles
Tender ground lamb meatballs simmered in a garlicky crushed-tomato sauce with fresh basil and onion, served over sauteed zucchini noodles and finished with grated parmesan and crumbled feta.
Why You'll Love This Recipe
This is a warm, comforting dinner for anyone who wants the satisfaction of meatballs and red sauce without a heavy plate of pasta underneath. Ground lamb gives it a richer, slightly more savory depth than the usual beef, and the zucchini noodles keep the whole thing light and vegetable-forward. It comes together in one to two skillets in well under an hour, which makes it realistic for a weeknight but nice enough to serve a guest.
Brown the meatballs hard before they touch a drop of sauce. That deep sear builds a layer of flavor on the surface and gives the crushed-tomato sauce something to hold onto as the meatballs finish simmering in it. Cooking the garlic just until fragrant rather than letting it brown keeps it sweet instead of bitter, and drying the spiralized zucchini before it hits the hot oil is what keeps the noodles from turning watery and slack.
It is a filling meal thanks to the protein-rich lamb, which keeps you satisfied without needing a large portion. The zucchini brings fiber and a fresh, green backbone, olive oil carries flavor and adds richness, and the two cheeses layer in a salty, tangy finish that makes every bite feel indulgent. The zucchini is also what makes the plate look full, which matters more than it sounds like it should on a night you are hungry. Fresh basil lifts the whole plate so it tastes bright rather than heavy.
Ingredients
- 1 1/4 lb ground lamb, formed into meatballs
- 4 medium zucchini, spiralized
- 4 tbsp olive oil
- 3/4 cup crushed tomatoes
- 1/2 cup grated parmesan
- 1/2 cup crumbled feta
- 4 cloves garlic, minced
- 1/4 cup fresh basil
- 1/2 cup diced onion
Instructions
- Form the meatballs: Put the ground lamb in a bowl and mix gently with your hands just until combined, leaving it unseasoned because the parmesan and feta salt the finished plate; overworking makes the meatballs dense. Roll the meat into evenly sized balls, a little smaller than a golf ball, so they cook through at the same rate. Set them on a plate.
- Prep the aromatics and noodles: Peel and finely dice the onion, and mince the garlic. Run the zucchini through a spiralizer to make noodles, then pile them on a clean towel or a few paper towels and pat them dry, since surface water makes them steam and go limp. Tear or roughly chop the fresh basil.
- Brown the meatballs: Warm olive oil in a large skillet over medium-high heat until it shimmers. Add the meatballs in a single layer, leaving space between them, and sear without moving them for a couple of minutes per side until they are deeply browned all over. They will not be cooked through yet. Transfer them to a plate and set aside.
- Build the sauce: Lower the heat to medium and add the diced onion to the same skillet, cooking until it softens and turns translucent, about 4 minutes. Stir in the minced garlic and cook just until fragrant, about 30 seconds, so it does not scorch. Pour in the crushed tomatoes, stir in most of the basil, and simmer gently for about 8 minutes until slightly thickened.
- Finish the meatballs: Return the browned meatballs and any collected juices to the sauce, setting them in. Cover and simmer for about 6 minutes, turning once, until they are cooked through and register 160°F (71°C) at the center on an instant-read thermometer.
- Saute the zoodles and plate: In a separate skillet, warm the remaining olive oil over medium-high heat, add the zucchini noodles, and toss for about 2 minutes just until barely tender and still with some bite; longer and they release water and go soft. Plate the zoodles, spoon the meatballs and sauce over the top, and finish with grated parmesan, crumbled feta, and the reserved basil.
Variations
- Add some heat: Stir a pinch of crushed red pepper flakes into the sauce along with the garlic for a gentle background warmth, or more if you like it spicy.
- Switch the meat: Swap the ground lamb for ground beef, or use a half-and-half blend of beef and lamb for a milder, more familiar flavor while keeping the same method.
- Fold in greens: Wilt a few handfuls of baby spinach into the tomato sauce during the last minute of simmering for extra vegetables and color.
- Briny bite: Add chopped pitted kalamata olives and a spoonful of capers to the sauce for a salty, tangy edge that plays well with the feta.
- Herb swap: Stir in chopped fresh oregano or a little fresh mint along with the basil to give the lamb a brighter, more herbaceous lift.
Storage & Leftovers
Store leftovers in an airtight container in the refrigerator for up to 3 days. If you can, keep the meatballs and sauce separate from the zucchini noodles, because the zoodles keep releasing water and soften the longer they sit.
Reheat the meatballs and sauce gently in a covered skillet over medium-low heat, or in short bursts in the microwave, until warmed through. Add the zucchini noodles only at the very end and just long enough to heat them, since reheating them fully tends to make them limp and watery.
To get ahead, form and brown the meatballs and make the sauce up to a day in advance, then refrigerate them together. When you are ready to eat, simmer the meatballs in the sauce to finish, and spiralize and saute fresh zucchini noodles at the last minute for the best texture.
Notes & Tips
- Choose firm zucchini: Pick zucchini that are firm and medium-sized; large ones have soft, seedy centers that spiralize into mushy, watery noodles. Firmer squash holds its shape and gives you noodles with real bite.
- Season the lamb generously: Lamb can take more salt and pepper than you might expect. Taste-check by cooking a tiny pinch of the seasoned mix in the skillet before rolling the rest, then adjust so the meatballs are well seasoned all the way through.
- Salt the zoodles to remove water: If you have a few extra minutes, toss the spiralized zucchini with a little salt, let it sit in a colander for about 10 minutes, then squeeze out the water. Drier noodles saute up firmer and never turn the plate soupy.
- Don't crowd the skillet: Brown the meatballs in batches if your pan is full. Crowded meatballs steam instead of searing, and you lose the deep browning that gives the dish its flavor.
- Feta is your salt lever: Both the parmesan and feta are salty, so go easy salting the sauce and adjust at the end. If you want a milder finish, use less feta; for more tang, crumble on extra just before serving.
- Double the meatballs: The meatballs and sauce freeze beautifully, so make a big batch and freeze half in their sauce. Then you only need to spiralize and saute fresh zucchini to have dinner ready fast.
Nutrition & Mindful Eating
- Everything here cooks on the stovetop in one stretch. The meatballs brown first, the tomatoes go in around them to catch what the meat left behind, and the zucchini goes in last so it keeps some spring, which is what makes the plate eat like a full dinner.
- Ground lamb has more character than most ground meat, faintly grassy and rich, and rolled small it browns on every side. It gives the plate its protein along with the zinc and B12 that red meat carries.
- Zucchini noodles are long green ribbons that go slack in a hot pan in about two minutes, so they are best pulled while they still have a bit of snap. They hold a lot of water, which means they drink up the marinara and stay springy under it.
- Parmesan and feta pull in different directions and that is the point. The parmesan melts into the sauce and goes deep and nutty, the feta stays in soft salty crumbles on top, and between them the dish gets its calcium and a good deal of its savor.
- Garlic and onion soften in the olive oil before anything else happens, and the fresh basil goes over at the end where the heat releases it. That first smell coming off the pan is most of the reason this feels like more work than it is.
- As you eat, twirl the zucchini slowly and let the salt of the feta and the sweetness of the tomato register separately before the next forkful, and stop when the plate has done its job.
Frequently Asked Questions
My zucchini noodles turned out watery. What went wrong?
Zucchini is mostly water, and it releases that water when it hits heat. Pat the spiralized noodles dry before cooking, saute them hot and fast for only a couple of minutes so they keep some bite, and drain off any liquid before plating. Salting and squeezing them first helps even more.
Can I make the meatballs without a spiralizer?
Yes. Use a julienne peeler to make thin ribbons, or a regular vegetable peeler to make wide, flat noodles. You can also buy pre-spiralized zucchini, though fresh-cut holds its texture best.
How do I know the lamb meatballs are cooked through?
The most reliable way is an instant-read thermometer; they are done at 160°F (71°C) in the center. Without one, cut into the largest meatball to check that it is no longer pink inside and the juices run clear.
Ground lamb tastes too strong for me. What can I do?
Blend it half-and-half with ground beef to soften the flavor, and lean on the fresh basil, garlic, and a bright tomato sauce, which all balance lamb's richness. Adding fresh mint or oregano also mellows and freshens the taste.

