Heat the olive oil in a wide pot over medium heat. Add the onion and mushrooms and cook, stirring often, for 8–10 minutes. Season with salt and pepper.
Melt the butter into the pot and add the zucchini and cherry tomatoes. Cook, turning occasionally, until the skins on the tomatoes begin to split. Season with salt, pepper, and a big pinch of crushed red pepper. Add the garlic and cook for 1 minute until fragrant.
Pour in the water or vegetable broth and bring to a boil. Reduce heat and simmer for 15–20 minutes. Most of the liquid in the pot should evaporate. Stir occasionally to prevent it from sticking, and mash a few tomatoes as they cook. Taste and season.
Cook the pasta:
Bring a large pot of generously salted water to a boil. Add the pasta and cook until al dente. Remove 1 cup of water from the pot and set aside. Drain the pasta.
Finish the sauce:
Taste the sauce and season. Pour in half of the pasta water and bring to a boil. Add all but a big pinch of the Parmesan and stir constantly for 1–2 minutes to melt the Parmesan into the sauce. Add the cooked pasta and toss to coat for 1 minute, adding more pasta cooking water until the sauce coats the pasta. Taste and season.
Stir in the lemon juice and stir to coat. Turn off the heat.
To serve:
Transfer the pasta to a large serving bowl. Scatter the basil leaves on top and sprinkle the remaining Parmesan cheese on top. Enjoy!