Heat the oil in a large pan over medium-high heat. Add the cardamom pods, whole cloves, bay leaves and mustard seeds. The mustard seeds will start to pop; at this point, add the chopped onions and garlic. Cook until onion is soft.
Add the chicken pieces to the pan and brown on all sides. Whilst browning, add the root ginger, turmeric, cumin, salt and pepper.
Once the chicken is browned, add the chopped tomatoes, ground coriander and chilli powder.
Reduce the heat to low, cover the pan and simmer for 30 minutes. After 30 minutes, add the green pepper. Continue to simmer for another 30 minutes.
Taste and season as needed with salt and additional chilli. Add the garam masala and simmer a further 20 minutes. (Remove the lid and simmer uncovered if the mixture is too watery.)
Before serving, garnish with chopped fresh coriander.