Cut the chicken breasts into cubes and marinate with the spices, ginger garlic paste and salt. Refrigerate
Cut the cauliflower into florets and marinate with the spices and oil
Heat a large pan on the stovetop and add the cauliflower and the butter. Fry until the cauliflower is slightly charred.
To the same pan, add another 2 tablespoon oil (adjust the amount of oil as required) and fry the chicken, just until brown, should take about 3 minutes. Doesn't have to be fully cooked. Do not over cook. You can do them in two batches. Set aside.
Add another 2-3 tablespoon oil to the pan and fry the onion until golden brown. Add the chilli and curry leaf and fry for a minute.
Add the ginger/garlic paste and fry for 30 seconds.
Add the turmeric, fennel, chilli powder and mix. Cook for 1 minute. Add a few drops of water to prevent the spices from burning.
Add the tomatoes and cook for 5 minutes. Add half cup water and cook until the tomatoes are cooked and the sauce thickens a little. You can add more water if you prefer a curry with more sauce.
Gently mix in the cauliflower and chicken and cook on high heat for about 2-3 minutes, just until everything heats through. Season with more salt if required
Add the garam masala and dried methi leaves. Mix the curry well.
Garnish with coriander and serve hot with paratha or rice.