In a food processor, pulse onion, celery, and carrots together until finely diced (or chop by hand)
In a large dutch oven, over medium/low heat, melt butter and olive oil together
Add finely diced vegetables to the pot and cook until tender (about 3-4 minutes). Add minced garlic and cook until fragrant (about one minute, careful not to burn garlic).
In the same food processor, pulse crushed tomatoes until a smooth consistency. Add tomatoes to cooked vegetables.
Using kitchen twine, tie together thyme and rosemary. Add herbs the tomato/vegetable mixture along with the red pepper flakes. Season with salt and pepper. Allow the mixture to simmer and reduce (about 5 minutes).
Once tomato and vegetable mixture has blended together, add chicken stock and beans. Bring soup to a simmer for 10-15 minutes
Meanwhile, in a saute pan melt together 1 tbsp of butter and 1 tbsp of olive oil over medium low heat. Add bread cubes. Toss together and cook over medium/low heat for 10-15 minutes (while soup is cooking) or until just lightly golden brown. Season bread cubes with salt/pepper (can also add red pepper flakes).
Add swiss chard and parmesan cheese to the soup. Cook for an additional few minutes
Season with salt/pepper
To serve, ladle soup into individual serving bowls, add a handful of toasted bread, top with additional parmesan and enjoy!