Hearty three-bean soup garnished with rendered bacon

Loosely based on this Italian mixed bean soup by Umberle, available here:  http://www.food.com/recipe/italian-mixed-bean-soup-211966.  Sauté about 1 oz bacon (cut into matchsticks) until browned and rendered, then set aside.  Using the rendered fat, sauté 1 chopped onion, 5 cloves minced garlic, 7 sprigs each Greek oregano and thyme
(leaves only), and ½ tsp crushed red pepper.  When fragrant, add 5 carrots (peeled and chopped), 3 celery stalks (chopped), and 7 shiitake mushrooms (here, I reconstituted dried ones, removed stems, and chopped into large bite-sized pieces); if needed, add 1 tsp olive oil for the sauté.  When the veggies are crisp-tender, pour in 10 cups low sodium chicken stock, bring to a boil, then fold in 2 cups beans (here, I used equal amounts dried fava beans, kidney beans, and black-eyed peas, each of which had soaked in water overnight).  Cover and reduce to a simmer, cooking until beans are almost tender (about 90 mins).  Fold in 1 cup lentils (rinsed and cleaned) and let simmer, covered, for another 10 mins.  Add 14 oz canned chopped tomatoes (drained) and 10 oz spinach (here, I used frozen
spinach and thawed it) and let soup continue to simmer until everything is tender (about 15 mins).  Season to taste with salt, black pepper, fried onions (available at Indian grocery stores), and red wine vinegar.  When serving, garnish with a pinch of rendered bacon.  This recipe was inspired by our pantry ingredients during the snowfall.  (Feb. 2015)