Bring a large pot of salted water to a boil. Trim the asparagus and cut into 1 1/2-inch pieces. Mince the garlic. Grate the zest and juice the lemon to get 3 tablespoons of juice. Grate the Parmesan cheese.
Cook the pasta in boiling water until just shy of al dente, about 9 minutes. Meanwhile, start cooking the asparagus.
In a skillet, heat 3 tablespoons olive oil over medium heat. Add asparagus, salt, black pepper, and red pepper flakes if using. Cook until asparagus is bright green and tender, about 3-4 minutes. Add garlic and cook until fragrant, then stir in lemon zest and juice.
Reserve 1 cup pasta water, then drain pasta. Add pasta and reserved water to the skillet. Cook, stirring, until pasta is al dente and water is mostly absorbed.
Remove from heat. Stir in Parmesan and remaining olive oil. Serve with additional Parmesan and fresh basil if desired.