Mix the chicken and marinade together in a bowl, cover and marinate in the refrigerator for at least an hour or overnight.
Prepare the chicken to be grilled on skewers or broiled for about 8 minutes in your oven.
Preheat a large skillet or frying pan on medium heat and add 1 tablespoon of olive oil.
Gently shake off excess marinade on the chicken and place the chicken on a preheated grill using skewers, or in a preheated oven on a baking sheet or broiling pan and cook until the chicken for about 8 minutes or until it begins to char on top.
Meanwhile, add the onions to the skillet and sauté them until they begin to brown, about 8 minutes.
Add the garlic and ginger and sauté for a minute. Add the garam masala, chili powder and salt and blend well.
Add the tomatoes and simmer the sauce for a few minutes.
Turn the heat off, add the yogurt and stir to blend it in.
Add the chicken and lightly blend it into the in sauce.
Serve with rice or cauliflower rice. Store covered for a few days in the refrigerator, or a few weeks in the freezer.