
By abbey f
Juicy, herb-scented meatballs simmered in a bright, slowly reduced tomato-basil sauce, served on a bed of crisp-tender zucchini noodles. This low-carb, paleo take on classic Italian comfort food balances rich beef flavor with fresh basil and the lightness of zoodles for a dish that's both satisfying and vibrant.
Prep the aromatics and basil: finely dice the onion and mince the garlic; chiffonade (thinly slice) 8 of the basil leaves and reserve a few whole leaves for garnish. Doing this first keeps you organized and allows flavors to be added at the right time — finely diced onion sweats and sweetens faster, and chiffonaded basil disperses flavor evenly through the sauce and meat.
Make the meatball mixture: in a large bowl combine the ground beef, almond flour, beaten egg, half the minced garlic (reserve the rest for the sauce), 1/2 tsp black pepper, 3/4 tsp salt, and 1 tsp dried oregano. Use your hands and gently fold — do not overwork the meat. Gently mixing prevents the meat from becoming dense; the almond flour and egg provide structure while keeping the texture tender (paleo-friendly binder).
Portion and shape the meatballs: wet your hands lightly with water to prevent sticking and form the mixture into 12 even meatballs (about 40–45 g / 1.5 oz each). Consistent size ensures even cooking and makes the presentation restaurant-worthy.
Sear the meatballs: heat 1 tbsp of olive oil in a large heavy skillet (preferably stainless steel or cast iron) over medium-high heat until shimmering. Add the meatballs in a single layer without crowding and brown on all sides, about 2–3 minutes per side. You're not cooking them through — you are developing a Maillard crust which gives deep, savory flavor to both meat and sauce. Work in batches if needed and transfer browned meatballs to a plate.
Build the sauce base: lower the heat to medium, add the remaining 1 tbsp olive oil to the skillet, and add the diced onion. Sweat the onion for 4–5 minutes until translucent but not browned — sweating gently releases the sweetness and body into the sauce. Add the remaining minced garlic and red pepper flakes (if using) and cook for 30–45 seconds until fragrant; garlic burns quickly, so short cooking preserves its brightness.
Deglaze and add tomatoes: pour in the crushed tomatoes and use a wooden spoon to scrape up the browned bits (fond) from the bottom of the pan — those are concentrated flavor. Add the chiffonaded basil and the remaining 1/4 tsp salt. Bring the sauce to a gentle simmer.
Simmer with meatballs: nestle the seared meatballs into the sauce, partially cover the skillet, and simmer gently for 12–15 minutes until the meatballs are cooked through (internal temperature 71°C / 160°F) and the sauce has thickened slightly. Simmering allows the meatballs to finish cooking while absorbing the tomato-basil flavors; covering helps keep them moist without boiling the sauce.
Prepare the zoodles while the sauce simmers: place the spiralized zucchini in a colander, sprinkle with 1/4 tsp salt, and toss lightly. Let them sit for 5–10 minutes — this draws out excess water and prevents a watery sauce. Pat dry with paper towels before cooking. Removing excess moisture keeps the zoodles crisp-tender and prevents diluting your sauce.
Finish the zoodles: when the meatballs are almost done, heat a separate large nonstick skillet over medium-high heat. Add a quick spray or 1/2 tsp of olive oil and add the zoodles in a single layer, tossing gently for 1–2 minutes until just warmed and al dente. Quick cooking preserves zucchini's texture — overcooking makes them mushy. Season with a pinch of salt and a few cracks of black pepper.
Plate and finish: mound zoodles on warmed plates, place 3 meatballs per serving atop the zoodles and spoon a generous ladle of tomato-basil sauce over everything. Finish with torn basil leaves, chopped parsley, and a drizzle of extra-virgin olive oil if desired. A final fresh basil garnish brightens the dish and adds a fragrant, herbaceous finish.
Taste and adjust: always taste the sauce for salt, pepper, and acidity — if the sauce tastes too acidic, stir in a pinch of baking soda (¼ tsp) or a tiny drizzle of honey/maple syrup (not strictly paleo for some) to round it out. Adjust seasoning before serving for best results.
504
Calories
39g
Protein
16g
Carbs
33g
Fat
4g
Fiber
How did this recipe turn out? Let others know!
to rate this recipe
By abbey f

Juicy, herb-scented meatballs simmered in a bright, slowly reduced tomato-basil sauce, served on a bed of crisp-tender zucchini noodles. This low-carb, paleo take on classic Italian comfort food balances rich beef flavor with fresh basil and the lightness of zoodles for a dish that's both satisfying and vibrant.
Prep the aromatics and basil: finely dice the onion and mince the garlic; chiffonade (thinly slice) 8 of the basil leaves and reserve a few whole leaves for garnish. Doing this first keeps you organized and allows flavors to be added at the right time — finely diced onion sweats and sweetens faster, and chiffonaded basil disperses flavor evenly through the sauce and meat.
Make the meatball mixture: in a large bowl combine the ground beef, almond flour, beaten egg, half the minced garlic (reserve the rest for the sauce), 1/2 tsp black pepper, 3/4 tsp salt, and 1 tsp dried oregano. Use your hands and gently fold — do not overwork the meat. Gently mixing prevents the meat from becoming dense; the almond flour and egg provide structure while keeping the texture tender (paleo-friendly binder).
Portion and shape the meatballs: wet your hands lightly with water to prevent sticking and form the mixture into 12 even meatballs (about 40–45 g / 1.5 oz each). Consistent size ensures even cooking and makes the presentation restaurant-worthy.
Sear the meatballs: heat 1 tbsp of olive oil in a large heavy skillet (preferably stainless steel or cast iron) over medium-high heat until shimmering. Add the meatballs in a single layer without crowding and brown on all sides, about 2–3 minutes per side. You're not cooking them through — you are developing a Maillard crust which gives deep, savory flavor to both meat and sauce. Work in batches if needed and transfer browned meatballs to a plate.
Build the sauce base: lower the heat to medium, add the remaining 1 tbsp olive oil to the skillet, and add the diced onion. Sweat the onion for 4–5 minutes until translucent but not browned — sweating gently releases the sweetness and body into the sauce. Add the remaining minced garlic and red pepper flakes (if using) and cook for 30–45 seconds until fragrant; garlic burns quickly, so short cooking preserves its brightness.
Deglaze and add tomatoes: pour in the crushed tomatoes and use a wooden spoon to scrape up the browned bits (fond) from the bottom of the pan — those are concentrated flavor. Add the chiffonaded basil and the remaining 1/4 tsp salt. Bring the sauce to a gentle simmer.
Simmer with meatballs: nestle the seared meatballs into the sauce, partially cover the skillet, and simmer gently for 12–15 minutes until the meatballs are cooked through (internal temperature 71°C / 160°F) and the sauce has thickened slightly. Simmering allows the meatballs to finish cooking while absorbing the tomato-basil flavors; covering helps keep them moist without boiling the sauce.
Prepare the zoodles while the sauce simmers: place the spiralized zucchini in a colander, sprinkle with 1/4 tsp salt, and toss lightly. Let them sit for 5–10 minutes — this draws out excess water and prevents a watery sauce. Pat dry with paper towels before cooking. Removing excess moisture keeps the zoodles crisp-tender and prevents diluting your sauce.
Finish the zoodles: when the meatballs are almost done, heat a separate large nonstick skillet over medium-high heat. Add a quick spray or 1/2 tsp of olive oil and add the zoodles in a single layer, tossing gently for 1–2 minutes until just warmed and al dente. Quick cooking preserves zucchini's texture — overcooking makes them mushy. Season with a pinch of salt and a few cracks of black pepper.
Plate and finish: mound zoodles on warmed plates, place 3 meatballs per serving atop the zoodles and spoon a generous ladle of tomato-basil sauce over everything. Finish with torn basil leaves, chopped parsley, and a drizzle of extra-virgin olive oil if desired. A final fresh basil garnish brightens the dish and adds a fragrant, herbaceous finish.
Taste and adjust: always taste the sauce for salt, pepper, and acidity — if the sauce tastes too acidic, stir in a pinch of baking soda (¼ tsp) or a tiny drizzle of honey/maple syrup (not strictly paleo for some) to round it out. Adjust seasoning before serving for best results.
504
Calories
39g
Protein
16g
Carbs
33g
Fat
4g
Fiber
Your Rating: