Heat 2 tablespoons oil in a large non-stick frying pan over medium heat.
Add the finely minced onion and sauté, stirring occasionally, until golden brown, about 3–4 minutes.
Add the minced garlic and grated ginger and cook, stirring, for 1 minute until fragrant.
Add the cubed chicken and cook, stirring often, about 5 minutes until the exterior is cooked and no longer pink in the middle.
Stir in the pureed tomatoes, sliced green chilli, 3 tablespoons yoghurt, all spices (turmeric, smoked paprika, chilli powder, garam masala, black pepper, coriander powder) and 1/2 teaspoon salt; sauté for about 2 minutes until the tomatoes begin to break down.
Add 1/2 cup chicken broth and bring the mixture back to a simmer.
Lower the heat to medium, cover, and simmer for about 15 minutes, stirring occasionally.
Uncover and stir in the red pepper chunks; add a splash more stock or water if needed. Cover and cook 3–5 minutes more until the peppers are tender but still slightly firm.
Stir through the chopped coriander. Remove and discard the cardamom pods after squeezing out the seeds into the curry, then adjust seasoning if needed and serve.