Bring a large pot of water to a boil and add a palmful of salt.
Warm the oil in a very large skillet over medium heat. Add the onion and saute until tender and translucent, about 4 minutes. Add the garlic and crushed red pepper and cook, stirring, until fragrant, about 30 seconds. Add zucchini, salt and pepper and raise the heat to medium-high. If you’re using a cast iron pan, you can go up to high heat. Cook, stirring occasionally, until the moisture has been released from the zucchini and has evaporated. Cover, lower heat to low, and continue to cook until the zucchini is incredibly soft, about 15 minutes. You can do this ahead and let it sit off the heat until you’re ready to proceed with the rest of the recipe.
While the zucchini is cooking, add the pasta to the pot of boiling water and cook until al dente. Remove 2 cups of pasta cooking water before draining pasta and set aside.
Drain the pasta and transfer to the skillet with the zucchini. Add the lemon juice, zest, grated cheese, basil, butter or cream cheese, and ½ cup pasta water. Stir well to combine. Add more pasta water as needed. Serve with additional grated cheese on the side.