Blend the onion, garlic and ginger with a stick blender or in a small food processor.
Heat 2tbsp of the oil in a large casserole pan over a medium heat.
Add the beef and cook until browned - stirring to ensure it is browned all over.
Using a slotted spoon, remove the beef from the pan and place to one side.
Add the remaining oil to the pan followed by the onion paste and bay leaves. Cook for around 5 minutes, stirring occasionally, until the onion starts to brown slightly.
Add the tomato puree, cinnamon and Madras powder. Stir together for a couple of minutes until the spices begin to release their flavour.
Add the beef stock and passata - bring to the boil whilst stirring so the bottom of the pan doesn't catch before returning the beef to the pan.
Place a lid on the casserole dish and place in the oven for 3 hours until the beef is tender. Check on the sauce periodically to ensure it doesn't dry out - top up with a splash of water if necessary.
Once the meat is cooked through and tender, serve with rice and naan breads.
Notes
This recipe works beautifully with both diced beef and lamb which will cook in the same time as the instructions above. To up the beefiness, you could swap the diced beef for shin and increase the cooking time by 30-45 minutes.