Heat the olive oil in a 4-quart pot over medium-high heat. Add the onion, celery, garlic, carrots and pancetta and cook, stirring, until soft, about 5 minutes. Add 4 cups water, the cabbage, chard, potato, chicken stock, tomatoes and bouquet garni. Bring the soup to a gentle simmer and cook 25 to 30 minutes.
Place half of the beans (1 1/2 cups) in a food processor and process until smooth. Add the bean puree and the whole beans to the soup and simmer 10 minutes. Add the spinach and cook 2 more minutes. Season generously with salt and pepper. Ladle the soup into bowls and garnish with cheese.