01 -
Heat olive oil in a large stockpot or Dutch oven over medium heat. Add the Italian sausage and cook until browned, about 3-5 minutes, using a wooden spoon to break it into crumbles as it cooks. Once browned, transfer the sausage to a plate and set aside, leaving some of the flavorful fat in the pot.
02 -
To the same pot, add the diced onion, carrots, and celery (this combination is known as mirepoix in French cooking or soffritto in Italian). Cook, stirring occasionally, until the vegetables have softened and the onions are translucent, about 4-5 minutes.
03 -
Stir in the minced garlic, dried basil, dried oregano, and dried thyme. Cook until fragrant, about 1 minute. Be careful not to burn the garlic, which can happen quickly and create a bitter flavor.
04 -
Return the cooked Italian sausage to the pot. Add the chicken broth, tomato sauce, diced tomatoes with their juices, water, ditalini pasta, and the Parmesan rind. Season with salt and pepper to taste, keeping in mind that the Parmesan and sausage already contain salt.
05 -
Bring the soup to a boil, then reduce the heat to maintain a gentle simmer. Cook, stirring occasionally to prevent the pasta from sticking to the bottom, until the pasta is tender but still al dente, about 10-15 minutes. The exact time will depend on the pasta variety and brand.
06 -
When the pasta is tender, stir in the drained and rinsed kidney beans and Great Northern beans. Continue to simmer until the beans are heated through, about 1-2 minutes. Remove and discard the Parmesan rind.
07 -
Ladle the hot soup into bowls and top each serving with a generous sprinkle of freshly shaved Parmesan cheese. Serve immediately with crusty bread on the side if desired.