Soak the dried mushrooms in the lukewarm water for at least 30 minutes. Lift out the mushrooms without stirring up the water and rinse them thoroughly in cold water. Chop them not too fine and set aside.
Filter the water in which the mushrooms soaked through a wire strainer lined with a paper towel. Set aside.
Empty the can of chick-peas with all its liquid into a bowl. Squeeze the peel off the chickpeas one by one, putting the peeled peas on a plate. When all the chick-peas have been peeled, put them back into the bowl with their own liquid. (Omit this step if you are not bothered by peels in the soup.)
If using fresh spinach, remove the stems and soak the spinach in a basinful of cold water, dunking it several times. Lift out the spinach and discard the water with the sand that has settled to the bottom. Refill the basin and repeat the operation again and again until the spinach is thoroughly free of sand. Cook it in a covered pan with a pinch of salt and just the water that clings to its leaves. When the spinach is tender, after 10 minutes or so, drain it, squeeze it very lightly, and chop it rather coarse.
If using frozen spinach, cook the thawed spinach in a covered pan with a pinch of salt for a minute or two; then drain, squeeze, and chop it coarse.
Put the butter, olive oil, and onion in a soup pot and turn on the heat to medium. When the onion becomes colored a light gold, add the mushrooms. Cook, stirring, for a minute or so. Then add the tomatoes and cook and stir for another minute or so. Add the chopped spinach, salt, and grindings of pepper, and, after 1 or 2 minutes, the chick-peas drained of their juice. Stir for a little while, then add the filtered water from the mushrooms. Taste and correct for salt and pepper.
Turn down the heat to very low, cover the pot, and cook for 1 hour. The soup should end up being rather dense, but if necessary, while cooking, you can add a little warm water.
Off the heat, mix in the grated cheese. Allow the heat of the soup to subside for a few moments before serving.