Cook Pasta: Bring a large pot of salted water to boil, then add spaghetti and cook according to package instructions until al dente (about 9-11 minutes). Reserve ½ cup of pasta water, then drain.
Prepare the Veggies: While spaghetti is cooking, slice mushrooms. Trim and halve zucchini lengthwise then cut into ¼ inch thick half-moons. Mince garlic. Zest the lemon then cut it into quarters. Halve grape tomatoes. Heat a large drizzle of olive oil in a large pan over medium-high heat. Add the sliced mushrooms, season with salt and pepper, and saute until golden brown, about 5-7 minutes. Transfer to a plate.
In the same pan, heat one tablespoon of olive oil on medium-high heat. Add zucchini, season with salt and pepper, and cook for 5 minutes until golden brown and tender. Transfer to the plate with mushrooms.
Heat a drizzle of olive oil (if needed) in the same pan over medium-high heat. Add tomatoes, season with salt and pepper and cook until softened, about 3 minutes. Add in the minced garlic and saute for about 30-60 seconds or until fragrant.
Then add mushrooms, zucchini, half of lemon zest, juice of half a lemon, half the Parmesan, cooked pasta, and ¼ cup of reserved pasta water. Stir to combine. Then add 1 tablespoon butter and stir until melted. Toss over medium heat for about 2 minutes, until cheese is melted and sauce thickens and coats the pasta. You can add more pasta water as necessary, until spaghetti is coated in the sauce.
To serve, top each plate with the rest of Parmesan cheese, basil leaves, lemon zest, a quarter of lemon on the side and a sprinkle of red pepper flakes (optional).