Place a large saucepan over a medium heat. Pour in enough olive oil to coat the base of the pan. Add the onions and cook for a few minutes until softened and translucent without browning.
Add the fresh herbs and cook them down for a few minutes until they are completely wilted and resemble cooked spinach. Stir in the garlic and cook for a few more minutes until soft and translucent without browning.
Mix the tamarind, paprika, tomato puree and butter into the pan, stir everything together well, then add the flour and mix well. Fry for a few minutes, then pour in the stock and the cold water, and season with a generous amount of salt and pepper.
Bring the contents of the saucepan to a rolling boil, then stir in the rice and puy lentils. Reduce the heat and simmer, without a lid, for 25-30 minutes, or until the rice and lentils are cooked. If the soup seems too thick add boiling water (up to 300ml), a little at a time, until you reach your desired consistency. Taste and adjust the seasoning as desired, then serve immediately (it will continue to absorb more liquid if left to sit), with the dill and sliced spring onions scattered on top.