Cut the chicken into bite-sized pieces.
In a large bowl, whisk together the yogurt, lemon juice, ginger, garlic, garam masala, cumin, paprika, turmeric, cayenne pepper, salt, and pepper.
Add the chicken to the marinade and stir until coated. Cover and refrigerate for at least 1 hour, or overnight.
Preheat the grill to medium-high heat.
Thread the chicken onto skewers, leaving a small space between each piece.
Grill the chicken for 8-10 minutes, turning occasionally, until the chicken is cooked through and slightly charred.
Serve hot, garnished with chopped cilantro, sliced onions, and lemon wedges if desired.