Mix the marinade: In a bowl, combine lime zest and juice, chopped cilantro stems and leaves, minced garlic, olive oil, honey, cumin, chili powder, smoked paprika, salt, and pepper.
Stir until it looks like a loose paste.
Prep the chicken: Pat the chicken dry and cut large pieces into even sizes for quick, uniform cooking. Add to the marinade, toss to coat well, and refrigerate for at least 20 minutes (ideally 1–2 hours).
Cook the rice: Rinse rice until the water runs mostly clear. Add to a pot with broth or water, a pinch of salt, and a bay leaf if you like.
Bring to a boil, then cover and simmer until tender. Fluff and keep warm.
Warm the beans: In a small pan, heat a splash of olive oil. Add rinsed black beans, a pinch of cumin, salt, and a squeeze of lime.
Warm over low heat, stirring occasionally.
Char the corn and peppers: Heat a skillet over medium-high. Add a little oil, then corn and sliced red bell pepper. Cook until lightly charred and tender.
Season with salt and pepper. Transfer to a plate.
Cook the chicken: In the same hot skillet or on a grill pan, cook chicken over medium-high heat until browned and cooked through (165°F internal). Let it rest for 5 minutes, then slice or chop into bite-size pieces.
Prep fresh toppings: Halve cherry tomatoes, slice red onion thin, cube the avocado, and chop extra cilantro.
Cut lime wedges for serving. If using lettuce or cabbage, shred it now.
Build the bowls: Start with a scoop of rice. Add black beans, chicken, corn and peppers, tomatoes, onion, and avocado.
Finish with cilantro, a squeeze of lime, and any extras like salsa, cheese, or a dollop of Greek yogurt.
Taste and adjust: Add a pinch of salt, a drizzle of olive oil, or more lime juice if needed. Heat lovers can add hot sauce or pickled jalapeños.