In a large skillet or dutch oven, heat 2 tablespoons olive oil on medium-high heat. Add onions and cook 5 minutes, stirring.
Add zucchini and salt and pepper to taste. Continue cooking until zucchini is soft, 8-10 minutes. Turn off heat.
Meanwhile, pound garlic, basil, and a pinch of salt into a rough paste using a mortar and pestle or mini food processor. Stir in 3 tablespoons of olive oil.
When water is boiling, cook pasta according to package directions. Drain, reserving 1 cup pasta water.
Add pasta to skillet with the zucchini and turn heat back on to medium-high.
Add 1/2 cup cooking water, ricotta, crushed red pepper, and lemon zest. Cook 1 minute, adding more pasta water if necessary.
Add the basil-garlic paste, half the parmesan, and stir. Serve topped with remaining cheese.