Prep and roast the spaghetti squash. Preheat oven to 400°F (200°C). Halve the squash lengthwise, scoop out the seeds, and rub the cut sides with 1 tbsp olive oil, salt, and pepper. Place cut side down on a lined baking sheet and roast for 35–45 minutes, until the flesh is tender and pulls into strands.
Mix the meatballs. In a bowl, combine ground meat, almond flour, 1/2 cup grated Parmesan, egg, 2 minced garlic cloves, Italian seasoning, 1/2 tsp salt, 1/4 tsp black pepper, and heavy cream (if using).
Mix gently until just combined.
Form the meatballs. Roll into 1–1.5 inch balls. You should get about 16–20 meatballs. Don’t pack too tightly, or they’ll turn dense.
Brown the meatballs. Heat 1–2 tbsp olive oil in a large skillet over medium heat.
Sear the meatballs on all sides until browned, about 6–8 minutes total. They don’t need to be fully cooked yet. Transfer to a plate.
Make the garlic butter sauce. In the same skillet, reduce heat to medium-low.
Add butter and the remaining minced garlic (4–6 cloves). Sauté until fragrant, 30–60 seconds. Stir in red pepper flakes if you like a little heat.
Finish the meatballs. Return meatballs to the skillet.
Cover and cook on low for 5–7 minutes until cooked through (165°F for poultry, 160°F for beef/pork). Spoon the garlic butter over the meatballs as they finish.
Shred the squash. Once the squash is cool enough to handle, use a fork to pull the flesh into long strands. Season with a pinch of salt, pepper, a drizzle of olive oil, and a handful of Parmesan.
Toss and assemble. Add the squash strands to the skillet or a large bowl.
Toss gently with the garlic butter, meatballs, and another 1/4–1/2 cup Parmesan. Adjust seasoning. Add lemon zest or a squeeze of lemon if desired.
Finish with herbs. Sprinkle with chopped parsley or basil.
Serve warm with extra Parmesan at the table.