If all were right in the world, there would be as many recipes for minestrone—the Italian soup of simmered mixed vegetables and beans—as there have been individual pots of it cooked. That's because it's really more of a process than a fixed recipe. It's a hearty, easy, delicious meal that you can make with a couple of pantry staples and whatever fresh vegetables you happen to have on hand.
The written recipe here includes suggestions for a basic minestrone, but feel free to add or subtract vegetables at will.
This chart is excerpted from my book, The Food Lab: Better Home Cooking Through Science, and it should give you a basic idea of how and when to add various vegetables.
Building a flavorful soup out of simple ingredients is about layering flavors by sautéing some vegetables, simmering others, and using the bean-cooking liquid for body and flavor.
This recipe is more of a blueprint for soup than a set of rules, allowing you to make a soup based on what you have on hand and your personal preferences.
Omitting the optional pancetta and Parmesan makes this a fully vegan dish.
For the Beans: In a medium bowl, cover beans with cold water by several inches and stir in 1 tablespoon salt. Let beans soak at least 12 hours and up to a day. Drain and rinse.
Combine beans, onion halves, carrot, celery, garlic cloves, rosemary, parsley, and bay leaf in a large pot and cover with water by several inches. Add a pinch of salt. Bring to a boil, reduce to a simmer, and cook, topping up with water as necessary, until beans are fully tender, about 45 minutes. Using tongs, discard vegetables and aromatics. Drain beans, reserving cooking liquid. Transfer bean-cooking liquid to a 2-quart measuring cup and add enough cold water to equal 2 full quarts (8 cups; 2L).
For the Soup Base: Heat pancetta (if using) and olive oil in a large Dutch oven or stockpot over medium-high heat. Cook, stirring, until pancetta has rendered fat and softened, but has not yet browned. (If omitting pancetta, heat oil just until shimmering.) Add onion, carrot, celery, and minced rosemary. Season with a big pinch of salt and cook, stirring, until vegetables are softened but not browned, 10 to 15 minutes, adding more oil if pot appears dry or if vegetables are starting to stick to the bottom.
Add reserved bean-cooking liquid, beans, and Parmesan rind, if using. Let broth simmer for at least 10 minutes.
Add pasta (unless you are planning on simmering for a long time; see step 7), zucchini, squash, and green beans and simmer until pasta and vegetables are tender, about 10 minutes. Add spinach and cook, stirring occasionally, until spinach is wilted, about 5 minutes. Discard Parmesan rind, if used.
Serve soup immediately as is, or continue simmering for up to 2 1/2 hours for a heartier texture and flavor (if simmering for a long time, add the pasta 10 to 15 minutes before serving). Alternatively, reserve half of soup on the side, continue to simmer the other half in the pot for up to 2 1/2 hours, and stir reserved soup back in for a soup that is hearty, but still has plenty of bright vegetable flavor and texture. Stir in chopped herbs and season to taste with salt and pepper before serving.
Canned beans can be used in place of fresh. To use canned beans, in step 5, drain and rinse 2 cups of canned beans and add them to the soup, along with 2 quarts of homemade vegetable stock, or store-bought or homemade low-sodium chicken stock. Increase simmering time to 30 minutes before proceeding to step 6.
Use fresh tomatoes only if ripe and in season. Otherwise, tomatoes may be omitted or replaced with one (14-ounce) can of whole peeled tomatoes, crushed by hand or chopped with a knife. A Parmesan rind can be added to the soup while simmering for deeper flavor.