Cut asparagus into 1-inch pieces, keeping tips separate. Cook stems in a 6-quart pot of boiling salted water until very tender, about 6 minutes. Transfer stems to a bowl of cold water to stop cooking and set color. Drain and place in a blender jar or food processor.
Cook asparagus tips in same boiling water until tender, about 3 minutes. Drain and set aside.
Add lemon zest, olive oil, and ½ cup of asparagus cooking liquid to the blender with asparagus stems and puree. Transfer to a saucepan.
Cook penne in boiling water for three quarters of recommended cooking time. Reserve 2 cups of boiling liquid. Drain penne and add to sauce along with asparagus tips and ½ cup reserved cooking water. Cook over high heat for 3 minutes. Add more water if needed. Stir in cheese, salt, and pepper. Serve immediately.
