Heat olive oil in a large pot or Dutch oven over medium heat.
Add chopped onion, carrots, and celery. Cook until softened, about 5-7 minutes.
Stir in minced garlic and cook for 1 minute more until fragrant.
Add chopped zucchini, diced tomatoes (undrained), kidney beans, cannellini beans, vegetable broth, dried oregano, and dried basil. Season with salt and pepper.
Bring the soup to a boil, then reduce heat and simmer for 20 minutes, or until vegetables are tender.
Add pasta to the simmering soup and cook according to package directions, usually 8-10 minutes, until al dente.
Taste and adjust seasoning if needed. Serve hot, garnished with grated Parmesan cheese.
Notes
This minestrone soup is easily customizable. Feel free to add other vegetables like potatoes, green beans, or spinach. For a heartier soup, you can add cooked pasta, rice, or small dumplings in the last 10-15 minutes of cooking.