Cut the asparagus into 1 inch pieces. Steam asparagus until it still has a slight crisp, about 3 minutes. Drain, and set aside.
Meanwhile in large pot, add 5-6 quarts of water, 1/2 tsp salt and bring to boil. Add in spaghetti and cook until al dente, about 8-10 minutes.
While your pasta cooks, zest and juice your lemons. You should have about 1 tablespoon of lemon zest and 1/3 cup of lemon juice.
Drain pasta, reserving about 1/2 cup of the water. Immediately add in lemon juice, lemon zest, olive oil, garlic powder, and cheese. Toss together so that all of the pasta is coated!
Stir in asparagus and basil. Generously add salt and black pepper to taste.
Serve immediately, adding extra olive oil, red pepper flakes, and parmesan cheese if desired. Serves 6-8.