In a large pot over medium high heat, fry the bacon until crisp. Drain the bacon on some paper towels but leave the fat in the pot.
To the reserved fat add the onion, garlic, carrot and celery and sauté for 5-7 minutes stirring often until the onion is translucent and the carrot begins to just soften.
Strip the leaves off of the rosemary stem by running your fingers backwards down the stem. Quickly run your knife through the herbs then add them to the pot along with the salt and pepper. Cook for another 30 seconds then add in the beans (don’t drain them, that liquid will give the soup a nice body), tomatoes, spinach and chicken stock. Reduce the heat and simmer for 15-20 minutes or until the carrot is tender.
Divide the soup into serving bowls and then top each with freshly grated Parmesan cheese. Serve and enjoy!