To a large pot over medium-high heat, add the olive oil, lamb or beef, grated onion, and all the spices. Brown the meat for 2 to 3 minutes just until it has a nice color.
Then add the tomato sauce, water, cilantro, parsley, and celery. Mix and bring to a boil. Drop the heat to low, cover, and let it simmer for 30 minutes to an hour or until the meat is cooked and tender. Timing can vary.
Take the lid off and add the chickpeas and basmati rice. The water mixed with flour is used as a thickening agent. Add as much as you need to get your desired consistency. If it is too thick for your liking, add more water and taste it. Adjust any seasoning to your desired taste. Mix and let it simmer. for about 12 minutes or until the rice is cooked. Optional, add the beaten eggs and let it cook for 2 minutes.
Serve with a squeeze of lemon and cilantro on top.