Add an extra fresh chilli or two if you are looking for something a little hotter.
Using a food processor/blender, blend the 2 roughly chopped onions, garlic cloves and fresh ginger until everything is finely diced. This step can also be done by hand.
Heat a splash of olive oil in a large saucepan over a medium-high heat and fry the onion mixture for 10 minutes until soft.
Whilst the onions are cooking, slice the beef chuck into bite size cubes roughly 2cm x 2cm and set aside.
Sprinkle the garam masala, turmeric, coriander, cumin and ground black pepper into the onion mixture and fry for a minute or two.
Pour in another splash of oil, add the beef and sauté until it is coated in the spices and evenly browned.
Stir in the tomatoes, coconut milk and remaining spices: dried red chillies, cardamom pods, cloves, cinnamon stick, bay leaf, black peppercorns and salt.
Bring to the boil, cover and simmer on low for 1 ½ hours.
Add the sliced onion and chickpeas and simmer uncovered for another 30 minutes or until the sauce is slightly thickened and the beef is tender. Season to taste with salt and freshly ground black pepper.
Now is a good time to start the basmati rice. Cook it according to the packet instructions.
Serve the curry over the steaming basmati rice and garnish with fresh coriander.