Prep the chicken: Cut chicken into 1.25–1.5-inch pieces. Keep sizes consistent for even cooking.
Make the marinade: In a large bowl, whisk Greek yogurt, lemon zest and juice, minced garlic, olive oil, oregano, cumin, paprika, salt, and black pepper until smooth.
Combine and marinate: Add the chicken to the bowl and toss to coat every piece.
Cover and refrigerate for at least 30 minutes. For best flavor, marinate 2–6 hours. Avoid marinating longer than 12 hours to keep the texture firm.
Preheat your cooking method: Grill: Preheat to medium-high and oil the grates.
Grill pan: Heat over medium-high and lightly oil.
Oven: Preheat to 425°F (220°C). Line a sheet pan with foil and set a rack on top if you have one.
Thread the skewers: Shake off excess marinade. Thread chicken onto skewers, adding red onion or bell pepper pieces if using.
Don’t pack too tightly; a little space helps browning.
Cook the skewers: Grill or grill pan: 10–12 minutes total, turning every 2–3 minutes until lightly charred and cooked through.
Oven: Roast 15–18 minutes, flipping once halfway. For extra color, broil for 1–2 minutes at the end.
Rest and garnish: Let skewers rest for 3–5 minutes. Finish with chopped dill or parsley and a squeeze of fresh lemon.
Serve: Pair with warm pita, a crisp cucumber-tomato salad, tzatziki, or herbed rice.
A drizzle of olive oil over the top is a nice touch.