
Indian Tandoori Fish Skewers with Yogurt Marinade
Tender chunks of white fish infused with warming tandoori spices, ginger, and tangy yogurt, then grilled until charred and smoky. These aromatic skewers are finished with fresh lime and cilantro for brightness. Perfect as a light dinner or appetizer, with minimal prep and maximum flavor.
- Prep
- 20 min
- Cook
- 12 min
- Wait
- 4 hr
- Total
- 4 hr 32 min
- Makes
- 4 skewers (2 per person as main, 8 skewers for appetizers)
Steps
Before you start
- Soak 8 wooden skewers in water for at least 30 minutes before grilling to prevent burning
- Pat fish completely dry with paper towels—excess moisture prevents proper charring and marinade absorption
- Have all spices measured and ready; toast the spices in a dry pan for 1–2 minutes if using whole seeds for deeper flavor
Prepare the marinade
- In a large mixing bowl, combine the Greek yogurt, ginger paste, garlic paste, tandoori spice, ground cumin, ground coriander, crushed kasuri methi (if using), lime juice, and 1 tablespoon of oil.
- Whisk until smooth and well combined.
- Season with salt and black pepper.
- The marinade should smell warm and aromatic with no lumps.
+ Show details− Hide details
Ready when: marinade is smooth and well blended with no spice lumps
Tip: Use full-fat Greek yogurt—nonfat versions can become watery during marinating and won't coat the fish as well
Marinate the fish
- Add the fish cubes to the marinade and fold gently to coat evenly, making sure each piece is well covered.
- Transfer to a shallow dish or zip-top bag.
- Cover and refrigerate for at least 4 hours, preferably overnight (up to 24 hours).
- Turn or gently shake the dish halfway through if using a flat container.
+ Show details− Hide details
Ready when: fish pieces are fully submerged and coated in yogurt mixture
Tip: Don't skip the marinating time—it's crucial for the spices to penetrate the delicate flesh and develop flavor
Prepare to grillOven 400°F / 205°C
- Remove the marinating fish from the refrigerator 15 minutes before grilling to bring it closer to room temperature.
- Pat each piece lightly with paper towels to remove excess marinade (this helps with charring).
- Thread 3–4 pieces of fish onto each skewer, spacing them slightly apart so heat circulates.
- Preheat your grill to medium-high heat (about 400°F / 200°C on a gas grill, or coals arranged for direct heat).
+ Show details− Hide details
Ready when: grill grates are hot enough that water droplets sizzle immediately on contact
Tip: Don't pat the fish completely dry—a light coating of marinade helps prevent sticking and adds flavor. If it's too wet, the spices will steam rather than char
Grill the skewers
- Lightly brush the hot grill grates with the remaining oil to prevent sticking.
- Lay the skewers directly over the heat, spacing them about 2 inches apart.
- Grill for 4–5 minutes without moving them, until the bottom sides develop a charred crust and the fish begins to turn opaque.
- Carefully flip each skewer and grill for another 4–5 minutes until the second side is charred and the fish is cooked through.
- The center of the thickest piece should reach 145°F (63°C) on an instant-read thermometer.
+ Show details− Hide details
Ready when: fish is opaque throughout and flakes gently with a fork; exterior is charred and smoky; internal temperature reaches 145°F (63°C)
Tip: Resist the urge to move the skewers—let them sit on the grill to develop a proper char crust, which creates that signature tandoori smoky flavor
Rest and finish
- Transfer the skewers to a clean plate and let rest for 2 minutes.
- Squeeze fresh lime juice over the grilled skewers and sprinkle with chopped cilantro if desired.
- Serve immediately with lime wedges on the side.
+ Show details− Hide details
Ready when: skewers are cool enough to handle safely
Tip: Fresh lime juice and cilantro add a bright, cooling contrast to the warm spices—don't skip this final step
Good to know
Tips
- For extra smokiness, add a pinch of smoked paprika to the marinade or brush a tiny amount on before grilling.
- If you don't have a grill, use a grill pan or cast-iron skillet on the stovetop over medium-high heat. The char won't be quite as dramatic, but the flavor remains excellent.
- Serve alongside cucumber raita (yogurt, grated cucumber, cumin, and cilantro) or with jasmine rice and roasted vegetables for a complete meal.
- For a charred finish without drying out the fish, keep the grill lid open—closing it traps steam and steams rather than chars the exterior.
Make ahead
Marinate the fish up to 24 hours ahead. Do not grill more than 2 hours before serving, as the texture begins to dry out.
Storage & reheating
Store leftover cooked fish in an airtight container in the refrigerator for up to 2 days. Reheat gently in a 300°F (150°C) oven for 5–7 minutes, or eat cold as a salad topping. Do not freeze cooked skewers, as the fish texture will break down. Uncooked marinated fish can be frozen in the marinade for up to 1 month; thaw in the refrigerator overnight before grilling.
Substitutions
- firm white fish (cod, halibut, or sea bass), skinless and boneless → firm white fish such as mahi-mahi, snapper, or swordfish. Use cubes of similar size; thicker fish like swordfish may need 1–2 minutes longer on each side
- tandoori spice blend → 1 tablespoon paprika + 0.5 teaspoon cayenne + 0.5 teaspoon garam masala. Mix your own blend if you don't have tandoori spice; adjust cayenne to taste for heat level
- plain Greek yogurt, full-fat → plain yogurt (full-fat or whole milk yogurt). Greek yogurt is thicker and coats better, but regular yogurt works; use the same volume
- dried fenugreek leaves (kasuri methi) → fresh mint or cilantro, finely chopped (0.5 teaspoon). Optional ingredient; add mint or cilantro to the marinade if fenugreek leaves are unavailable
More kebabs & skewers
See all →Find more like this
- Meal
- Dinner
- Cuisine
- North Indian
- Main ingredient
- Cod
- Method
- Grill & BBQ





