Snap off the tough ends of the asparagus. Bring a large pot of water to a boil, and add the asparagus spears. Cook until just tender, about 4 minutes. Without emptying the water from the pot, lift out the asparagus spears and place them in a colander. Rinse with cool water.
Bring the water back to a boil. Add salt, if needed, and add pasta. Cook until the pasta is al dente. Reserve 1/2 cup of pasta cooking water, and drain and rinse the pasta with cool water. Put into a serving bowl.
Place the asparagus on a cutting board. Trim off the top 3 inches of the asparagus spears, and put the tips into the bowl with the pasta. Cut the bottoms into several pieces, and set aside to use in the pesto sauce.
Use a food processor to make the pesto: With the processor running, drop in the garlic cloves and allow them to chop. Add 2 tablespoons of the pine nuts, and pulse to chop. Add the lemon juice, basil, salt, nutritional yeast, and the asparagus pieces (not the tips!) along with 3-6 tablespoons of the reserved pasta water. (Start with 3 tbsp. water and add more as needed.) Puree until smooth.
Toss the pasta, asparagus tips, and tomatoes (if using) with the pesto, and season with salt and pepper to taste. Sprinkle with the remaining pine nuts. Serve at room temperature or refrigerate until ready to serve.