In a small, dry frying pan, toast the walnuts over medium-low heat for a few minutes, or until fragrant and lightly browned. Set aside to cool.
Shred the zucchini. Use a clean dish towel or paper towel to squeeze out as much excess moisture form the zucchini as possible.
In a large food processor, combine the strained zucchini, garlic, spinach, basil, toasted walnuts, and Parmesan cheese. Process about 1 minute, or until smooth. With the processor running, slowly drizzle in the olive oil and blend another 15-30 seconds. Season with salt and pepper, to taste. Set aside.
Pesto Orzo
Bring a large sauce pot of water to a boil. Add the orzo and cook according to package directions for al dente pasta (about 7-8 minutes). Reserve ½ cup of pasta water before draining and set aside.
While the orzo cooks, heat the olive oil in a large frying pan over medium-high heat. Once the oil is hot add the onions and saute for about 2 minutes, or until lightly browned in spots. Add the asparagus and cook another 4-5 minutes, or until tender. Sprinkle with a little salt and pepper.
Pour about half of the pesto into the cooked orzo and stir to combine. Add more pesto if the pasta is too dry. If the pasta sauce is too thick, thin with the reserved pasta water. Stir in the cooked asparagus and onions. Season with additional salt and pepper, if desired. Serve and enjoy!