Wash the rice with cold water a few times to get rid of some of its starch and drain.
In a large pan, using half the amount of butter, saute the onions for a minute, add the meat cubes and saute them together until slightly browned. Add the mushrooms and tomato, and stir to mix and coat. Cook gently for a few minutes to absorb all flavours then add the water. Bring to a boil, skimming any foam that appears on top. Once boiled reduce the heat, cover and cook on medium-low heat for 45 minutes. Season and add the sugar and rice, then bring back to a boil. Adjust liquid level if necessary, cover and leave to cook on low heat for 15 minutes or until the rice is cooked through.
Once done, melt the remaining butter and pour it over the cooked rice. Cover with the lid and leave to rest for 10 minutes. Then sprinkle the dill (leaving some for garnish), oregano, walnuts and the chili flakes if using. Using a large fork, fluff the rice to incorporate the added ingredients.
Pour onto the serving plate, garnish with the remaining dill and serve immediately.