Peel the onions. Then halve and slice them, but not too thinly.
Cut the beef into large cubes, about 5cm/2" all around.
Heat the ghee in a Dutch oven, large saucepan or slow cooker and brown the beef all over for about 2 minutes each side.Do this in 2 batches so as not to overcrowd the pot.
Add the onions, give it a good stir, scraping the bottom of the pot to release all the delicious flavours. Add the baharat, bay leaves and salt and stir well.Bring to a simmer. Then reduce the heat to its lowest setting, cover and cook for 30 minutes. As we've not added any water, we want to check it to ensure it hasn't dried up.
At 30 minutes, give it a stir and add the water. Bring it back to a simmer, cover and cook for another 45 - 60 minutes until the beef is cooked and is fork tender. This means a fork will glide through the beef pieces easily.Stir every 20 minutes or so, to stop it from catching.
Check seasoning and add more salt if necessary, and finish off with a sprinkling of freshly ground black pepper.Serve as mentioned.It will keep in the fridge for 3 days.