Saute the onions with olive oil in a large dutch oven for about 5 minutes over medium heat before adding turmeric. Saute for a couple more minutes before adding all the beans with the exception of lentils.
Add water and bring to a boil. Reduce the heat and cover and cook for 1 hour.
Add the lentils, salt and pepper, and continue to cook over low heat for another 30 minutes. By this stage all the beans should have been softened and fully cooked.
Add the Reshteh and carefully attempt to stir the noodles into the soup. Cook for about 5 minutes or until the noodles have lost their rigidity and softened a bit.
Now add the herbs and Ab Ghooreh and continue to stir until everything is blended in the pot.
Keep the flame on low, cover and cook for another 10-15 minutes. Stir a couple of times to make sure nothing is getting burnt on the bottom of the pan.
Finally add the Kashk and stir until it is fully blended into the soup.
Turn off the heat and allow to sit for 5 minutes before serving.