Quick Recipe Version (TL;DR)
Quick Ingredients
- 1 1/2 lb (680 g) white fish fillets (cod, halibut, mahi-mahi, tilapia), patted dry
- 2 tbsp olive oil, divided
- 1 lime (zest 1 tsp + juice 3 tbsp), divided
- 1 tsp chili powder, 1/2 tsp ground cumin, 1/2 tsp garlic powder, 1 tsp kosher salt, 1/4 tsp black pepper
- 1 large mango (about 1 1/2 cups diced)
- 1 large avocado (diced)
- 1/4 cup finely diced red onion
- 1 small jalapeño, seeded and minced
- 1/2 cup chopped cilantro, divided
- 2 (15 oz / 425 g) cans black beans, drained and rinsed
- 1/2 cup water
- 1 garlic clove, minced
- 1/2 tsp smoked paprika
- 4 cups (about 10 oz / 285 g) shredded cabbage
- 2 tbsp apple cider vinegar
- 1 tbsp honey
Do This
- 1. Heat oven to 425°F (218°C) (or preheat grill to medium-high, 400–450°F).
- 2. Season fish with 1 tbsp oil, 1 tsp lime zest, 1 tbsp lime juice, chili powder, cumin, garlic powder, salt, and pepper.
- 3. Make salsa: toss mango, avocado, onion, jalapeño, 1/4 cup cilantro, 2 tbsp lime juice, and a pinch of salt.
- 4. Warm black beans with 1 tbsp oil, garlic, smoked paprika, 1/2 cup water, and salt; simmer 6–8 min.
- 5. Toss slaw: cabbage + vinegar + honey + pinch salt (add a splash of oil if you want).
- 6. Cook fish: bake 10–12 min (to 145°F) or grill 3–4 min/side (to 145°F).
- 7. Serve fish topped with salsa and extra cilantro, alongside black beans and slaw.
Why You’ll Love This Recipe
- Bright and fresh: Sweet mango, creamy avocado, and lime wake up simple fish in the best way.
- Weeknight-friendly: Everything comes together in about 40 minutes, with minimal fuss.
- Balanced plate: Lean protein + fiber-rich black beans + crunchy slaw makes it satisfying.
- Flexible cooking: Works beautifully baked in the oven or cooked on the grill.
Grocery List
- Produce: 1 large mango, 1 large avocado, 1 lime, 1 small jalapeño, 1/4 medium red onion, 1 garlic clove, 1 small bunch cilantro, 1 small head cabbage (or 1 bag shredded cabbage)
- Dairy: None
- Pantry: Olive oil, chili powder, ground cumin, garlic powder, smoked paprika, kosher salt, black pepper, apple cider vinegar, honey, 2 cans black beans
- Seafood: 1 1/2 lb (680 g) white fish fillets (cod, halibut, mahi-mahi, tilapia)
Full Ingredients
White Fish
- 1 1/2 lb (680 g) white fish fillets (cod, halibut, mahi-mahi, or tilapia), about 1-inch thick
- 1 tbsp olive oil
- 1 tsp finely grated lime zest (from about 1 lime)
- 1 tbsp fresh lime juice
- 1 tsp chili powder
- 1/2 tsp ground cumin
- 1/2 tsp garlic powder
- 1 tsp kosher salt
- 1/4 tsp black pepper
Mango-Avocado-Lime Salsa
- 1 large ripe mango, peeled and diced (about 1 1/2 cups)
- 1 large ripe avocado, diced
- 1/4 cup finely diced red onion
- 1 small jalapeño, seeded and minced
- 2 tbsp fresh lime juice
- 1/4 tsp kosher salt
- 1 tbsp chopped cilantro
Simple Black Beans
- 2 (15 oz / 425 g) cans black beans, drained and rinsed
- 1 tbsp olive oil
- 1 garlic clove, minced
- 1/2 tsp ground cumin
- 1/2 tsp smoked paprika
- 1/2 cup water
- 1/2 tsp kosher salt (plus more to taste)
- 1 tbsp fresh lime juice
Simple Cabbage Slaw
- 4 cups (about 10 oz / 285 g) shredded cabbage (green, red, or a mix)
- 2 tbsp apple cider vinegar
- 1 tbsp honey
- 1 tbsp olive oil (optional but recommended for a softer, less sharp slaw)
- 1/2 tsp kosher salt
- 2 tbsp chopped cilantro
For Serving (Optional)
- Lime wedges
- Hot sauce
- Cooked rice or warm tortillas

Step-by-Step Instructions
Step 1: Get set up (oven or grill)
If baking, preheat the oven to 425°F (218°C). Line a sheet pan with parchment paper or lightly oil it for easy cleanup.
If grilling, preheat your grill to medium-high heat (about 400–450°F / 204–232°C). Clean the grates well and oil them lightly to prevent sticking.
Step 2: Season the fish
Pat the fish fillets dry with paper towels (this helps the seasoning stick and encourages better browning).
In a small bowl, mix 1 tbsp olive oil, 1 tsp lime zest, 1 tbsp lime juice, 1 tsp chili powder, 1/2 tsp cumin, 1/2 tsp garlic powder, 1 tsp kosher salt, and 1/4 tsp black pepper.
Rub the mixture over both sides of the fish. Let it sit at room temperature for 10 minutes while you prep the salsa and sides.
Step 3: Make the mango-avocado salsa
In a medium bowl, gently toss together the diced mango, diced avocado, red onion, jalapeño, 2 tbsp lime juice, 1/4 tsp kosher salt, and 1 tbsp chopped cilantro.
Taste and add an extra pinch of salt if needed. Set aside at room temperature while the fish cooks. (Tip: If your mango isn’t very sweet, a tiny pinch of salt helps it taste brighter.)
Step 4: Warm and season the black beans
Heat 1 tbsp olive oil in a small saucepan over medium heat. Add the minced garlic and cook for 30 seconds, just until fragrant.
Add the rinsed black beans, 1/2 tsp cumin, 1/2 tsp smoked paprika, 1/2 tsp kosher salt, and 1/2 cup water. Bring to a simmer, then cook for 6–8 minutes, stirring occasionally, until warmed through and slightly saucy.
Turn off the heat and stir in 1 tbsp lime juice. Taste and adjust salt if needed.
Step 5: Toss the cabbage slaw
In a large bowl, combine 4 cups shredded cabbage, 2 tbsp apple cider vinegar, 1 tbsp honey, 1/2 tsp kosher salt, and 2 tbsp chopped cilantro. If you like a slightly softer, less tangy slaw, add 1 tbsp olive oil.
Toss well and let it sit for 10 minutes to lightly soften and mingle flavors. Taste and add a pinch more salt if needed.
Step 6: Cook the fish (choose baked or grilled)
Baked: Place the seasoned fish on the prepared sheet pan. Bake at 425°F (218°C) for 10–12 minutes, depending on thickness, until the fish flakes easily and the thickest part reaches an internal temperature of 145°F (63°C).
Grilled: Place the fish on the hot, oiled grill grates. Grill for 3–4 minutes per side, turning carefully once, until grill marks form and the thickest part reaches 145°F (63°C). If your fillets are delicate, a grill basket or a piece of lightly oiled foil can make flipping easier.
Step 7: Plate and finish
Spoon a generous amount of mango-avocado salsa over each fish fillet. Sprinkle with any extra cilantro you have on hand.
Serve with a scoop of warm black beans and a pile of crunchy cabbage slaw. Add lime wedges on the side for squeezing right before eating.
Pro Tips
- Use a thermometer for perfect fish: Pull the fish right when it hits 145°F (63°C) in the thickest part to avoid drying it out.
- Keep the salsa fresh: Dice the avocado last and toss gently so it stays chunky instead of turning into guacamole.
- Control the heat: For mild salsa, remove jalapeño seeds and ribs. For more heat, leave a few seeds in.
- Make the beans “restaurant-style”: Mash about 1/4 cup of the beans against the side of the pot and stir back in for a creamier texture.
- Don’t skip drying the fish: Moisture on the surface can steam the fish and make it stick more on the grill.
Variations
- Taco-style: Flake the fish into warm tortillas and top with salsa and slaw. Serve beans on the side or inside the tacos.
- Different fruit salsa: Swap mango for 1 1/2 cups diced pineapple or peaches for a slightly different sweet-tart vibe.
- Creamy slaw option: Replace the vinegar/honey with 1/3 cup plain Greek yogurt, 1 tbsp lime juice, and 1/2 tsp salt (note: this changes the recipe to include dairy).
Storage & Make-Ahead
Fish: Store cooked fish in an airtight container in the refrigerator for up to 2 days. Reheat gently (microwave at 50% power in short bursts, or warm in a 300°F (149°C) oven for 8–10 minutes) to avoid drying it out.
Salsa: Best eaten the same day. If you need to prep ahead, mix mango, onion, jalapeño, cilantro, lime juice, and salt up to 24 hours ahead; add avocado right before serving.
Beans: Keep in the fridge up to 4 days. Add a splash of water when reheating to loosen.
Slaw: Holds well for 1–2 days. It will soften over time; drain off any extra liquid and toss again before serving.
Nutrition (per serving)
Approximate, per serving (1/4 of recipe): 520 calories, 35 g protein, 45 g carbohydrates, 22 g fat, 14 g fiber, 650 mg sodium. Values vary by fish type and exact produce size.

