Heat 1 tablespoon olive oil and butter in a heavy large saucepan over medium heat. Add the onion, bacon, and garlic and saute until the onion is tender, about 3 minutes.
Add the broth, beans, and herbs (thyme, bay leaves, rosemary) . Cover and bring to a boil over high heat, then decrease the heat to medium and simmer until the vegetables are very tender, about 10 minutes.
Puree 1 cup of the bean mixture in a blender until smooth*. Before putting the puree back into the soup, add the macaroni and boil with the lid on until it is tender but still firm to the bite, about 8 minutes. You can also add sausage or ham at this time as well.
Return the puree to the remaining soup in the saucepan and stir well. Season the soup with ground black pepper and red pepper flakes.
Ladle the soup into bowls. Sprinkle with some Parmesan and drizzle with extra-virgin olive oil just before serving.
*When blending hot liquids: Remove liquid from the heat and allow to cool for at least 5 minutes. Transfer liquid to a blender or food processor and fill it no more than halfway. If using a blender, release one corner of the lid. This prevents the vacuum effect that creates heat explosions. Place a towel over the top of the machine, pulse a few times then process on high speed until smooth.