Before cooking, prepare four separate bowls for your ingredients: one metal or glass bowl for the chicken (it must be a heat resistant bowl, so the chicken can be returned to the bowl after browning); one bowl of minced onion, garlic, and ginger; one bowl of powdered spices; and one bowl for the sauce. For the fourth bowl, drain the tomatoes before adding them. Mix together the tomatoes and yogurt, and stir in the flour until it is a thickened roux.
Heat the oil in a large skillet over high heat; sear the chicken (bowl 1) in the hot oil until completely browned. Transfer the browned chicken breasts back to the bowl and set aside.
Reduce the heat under the skillet to medium-high; add the onion, garlic, and ginger (bowl 2) to the skillet. Stir until the onion caramelizes and turns translucent. Add additional oil to the skillet and heat for a minute. Stir the curry powder, cumin, turmeric, coriander, and cayenne pepper (bowl 3) into the onion mixture; allow to heat together for about 1 minute while stirring. Mix the tomato and yogurt sauce (bowl 4) into the pan, and add 1 tablespoon chopped cilantro into the mixture. Return the chicken breast to the skillet. Bring the mixture to a boil, turning the chicken to coat with the sauce. Sprinkle the garam masala and 1 tablespoon cilantro over the chicken.
Cover the skillet and simmer until the chicken breasts are no longer pink in the center and the juices run clear, about 40 minutes. Sprinkle with lemon juice to serve.