Transfer the onion, carrots and celery to the bowl of a food processor and pulse until chopped fine. Set aside.
In a large dutch oven heat the olive oil over medium heat and add the chopped garlic. Sweat the garlic until fragrant and translucent, but don't brown it.
Increase the heat to medium high and add the pancetta. Cook for one minute, stirring occasionally, then add the Italian sausage and cook, stirring occasionally until the sausage has browned.
Add the onion, carrot, celery mixture and sauté until the vegetables are tender.
Add the tomatoes, can of cannellini beans (including the liquid) and the chicken stock. Stir to combine. Add the oregano, bay leaves, crushed red pepper and parmesan cheese rind (if using). Stir, then cover with a tight fitting lid, bring the pot to a low simmer and cook for 20 minutes.
While the soup is simmering, cook the orzo pasta to al dente, according to the package directions. Drain the pasta and set aside.
Taste the soup and adjust seasonings as needed according to your tastes.
TO SERVE:
Remove the bay leaves and parmesan rind and discard. Stir in the butter and parsley.
Spoon about ½ cup of cooked orzo into a bowl. Spoon 2-3 ladles of soup over the pasta. Garnish with extra parmesan cheese and parsley. Enjoy!