Place a large skillet over medium heat and add in the olive oil. Once oil heats, add in the garlic and onions and cook for 2-3 minutes or until onions start to soften and become translucent.
Add in the tomatoes and season with salt and pepper. Bring to a boil and then reduce heat and simmer for 20-25 minutes.
While sauce cooks, spiralize the zucchinis and shave the asparagus by peeling it into strips with a vegetable peeler. Keep the asparagus tips for future use and toss the remaining asparagus stalks. You can also include the asparagus tips, if you’d like, but I didn’t.
Once sauce is done, place another large skillet over medium-high heat and once heated, add in the zucchini noodles and asparagus. Let cook for 2-3 minutes or until al dente.
While zucchini cooks, add in the basil to the tomato sauce and stir for 1 minute. Then, remove from heat and stir in the goat cheese.
When noodles are done, add to the pan with the sauce and toss to combine (alternately, you can combine both in a large mixing bowl and toss that way, if you don’t have a wide enough skillet to accommodate the noodles.)
Divide the pasta mixture into bowls, top with remaining goat cheese and garnish with extra basil and red pepper flakes.