Prep the skewers: If using wooden skewers, soak them in water for at least 20–30 minutes to prevent burning.
Metal skewers can be used as-is.
Cut the chicken: Trim excess fat and cut chicken into 1.25–1.5 inch cubes. Keep the pieces uniform so they cook evenly.
Make the marinade: In a bowl, combine 1/2 cup Greek yogurt (or 1/4 cup olive oil), 2 tablespoons olive oil, zest and juice of 1 lemon, 3–4 minced garlic cloves, 1 tablespoon honey, 1.5 teaspoons paprika, 1 teaspoon cumin, 1/2 teaspoon coriander, 1–1.5 teaspoons kosher salt, and 1/2 teaspoon black pepper. Adjust spices to taste.
Marinate: Add the chicken to the bowl and toss until well-coated.
Cover and chill for at least 30 minutes. For best results, go 2–6 hours. Avoid more than 8 hours if using yogurt to prevent mushy texture.
Thread the skewers: Alternate chicken with chunks of red onion and bell pepper if using.
Pack the pieces snugly but not too tight so heat can circulate and sear the edges.
Choose your cooking method: Grill: Preheat to medium-high (400–450°F). Oil the grates. Grill 8–12 minutes, turning every 2–3 minutes, until charred in spots and the thickest piece hits 165°F.
Stovetop: Heat a grill pan or large skillet over medium-high.
Add a light film of oil. Cook 9–12 minutes, turning often for even browning.
Oven: Preheat to 425°F. Place skewers on a rack set over a sheet pan.
Roast 15–20 minutes, flipping once, and broil for 1–2 minutes at the end for char.
Rest and finish: Let the skewers rest 3–5 minutes. Sprinkle with chopped parsley or cilantro and a squeeze of fresh lemon for brightness.
Serve: Pair with rice, couscous, warm pita, a crisp salad, and your favorite sauce. These are also great tucked into wraps.