Start by heating olive oil in a large pot over medium heat. Add the diced onion, carrots, and celery. Cook until softened and fragrant. This step creates a flavorful base known as soffritto. Stir occasionally so nothing browns too quickly. The vegetables should look tender but not caramelized.
Stir in the minced garlic, salt, pepper, oregano, thyme, and red pepper flakes. Cook for about one minute until fragrant. Cooking spices briefly in oil releases their essential oils. Be careful not to burn the garlic, as it can turn bitter.
Pour in the broth and add the drained cannellini beans along with the bay leaf. Bring the mixture to a gentle boil. Once boiling, reduce to a simmer. Let it cook for about 10 minutes so the flavors blend beautifully.
Add the pasta directly into the simmering soup. Stir occasionally so it doesn’t stick. Cook until the pasta is al dente. The pasta will absorb some broth, making the soup slightly thicker.
Remove the bay leaf and stir in grated Parmesan cheese. Add fresh lemon juice and chopped parsley. The cheese melts into the soup, adding richness. The lemon brightens everything and balances the flavors perfectly.