Preheat your heat source. Oven to 400°F (200°C), or grill to medium-high.
Cut 4 sheets of heavy-duty foil, each about 12 by 16 inches.
Prep the veggies. In a bowl, toss zucchini, bell pepper, onion, and tomatoes with olive oil, garlic, a big pinch of salt, and pepper. Add smoked paprika or Italian seasoning if using.
Assemble the base. Divide the vegetable mixture evenly among the foil sheets, piling it in the center. Top each with a lemon slice or two.
Season the fish. Pat fillets dry.
Sprinkle both sides with salt and pepper. Place one fillet on top of each veggie pile.
Add flavor boosters. Sprinkle fish with chopped herbs. Add a small cube of butter on each fillet if you like extra richness.
Finish with another lemon slice.
Seal the packets. Fold the long sides of foil over the fish and fold edges together tightly, then crimp the short ends to seal. Leave a little space inside for steam to circulate.
Cook. Oven: place packets on a baking sheet and bake 12–15 minutes for thin fillets, 15–18 for thicker cuts like salmon. Grill: 10–14 minutes, lid closed, depending on thickness.
Check doneness. Carefully open one packet (watch the steam).
Fish should be opaque and flake easily with a fork. Internal temperature should reach 145°F (63°C).
Serve. Slide contents onto plates or serve straight from the foil. Add fresh herbs and a squeeze of lemon.
Great with rice, quinoa, or crusty bread.