Prepare the onion, zucchini, bell pepper, tomatoes, and garlic.
Heat the olive oil in a large deep skillet over medium heat.
Add the onion and cook for 2–3 minutes until it begins to soften.
Add the zucchini and bell pepper and cook for another 3–4 minutes.
Stir in the garlic, Italian seasoning, and red pepper flakes. Cook for about 30 seconds.
Add the dry pasta and cherry tomatoes.
Pour in the vegetable broth and stir well.
Bring to a gentle boil, then reduce the heat to medium-low.
Simmer uncovered for 10–14 minutes, stirring frequently, until the pasta is al dente. Add a small amount of additional broth if the pan becomes dry before the pasta is tender.
Stir in the baby spinach and cook for 1–2 minutes until wilted.
Remove the skillet from the heat.
Stir in the freshly grated Parmesan until the remaining cooking liquid lightly coats the pasta.
Season with salt and black pepper to taste.
Finish with fresh basil and additional Parmesan before serving.