Heat 2 tablespoons of olive oil in a large skillet over medium high heat. Add onion and 2 cloves of minced garlic. Cook until onions begin to soften, about 3 minutes. Remove from heat. Cool.
In a large bowl combine onion mixture, ground turkey, egg, breadcrumbs, and herbs. Season generously with salt and pepper. Mix with hands until fully combined. If the mixture is too wet, add additional breadcrumbs.
Form mixture into 12 meatballs. Place on a baking sheet lined with parchment paper. Bake for 15-18 minutes until just cooked through. Turn oven to broil and cook an additional 3-5 minutes until golden brown.
Meanwhile, fill a medium saucepan with water and bring to a boil. Trim the ends from the asparagus and chop into 1-inch pieces. Add asparagus to boiling water and cook for 2 minutes. Remove pieces from boiling water (reserve water), and immediately submerge in ice water to stop the cooking.
Place spiraled zucchini spaghetti in a large bowl. Pour remaining boiling water over the noodles to lightly cook.
Heat remaining olive oil and garlic in large skillet until garlic is fragrant. Add red pepper flakes.
Drain zucchini spaghetti and add to skillet with garlic and olive oil. Add asparagus and parmesan cheese. Toss to coat. Serve with meatballs and garnish with fresh herbs.