Foil packet fish comes off the heat tender, flaky, and scented with lemon and herbs, with the vegetables underneath soaking up all the buttery juices. The fish stays protected inside the packet, so it cooks gently instead of drying out, and you get a complete meal with almost no cleanup. That’s the kind of cooking that earns a permanent place in the rotation, whether you’re at a campsite or just using the grill in your backyard.
The trick is keeping the packet sealed well enough to trap steam, but not so tight that the foil tears when you open it. Heavy-duty foil matters here because thin foil can split once the butter melts and the vegetables start releasing moisture. Salmon, trout, and tilapia all work, but the cooking time changes a little depending on thickness, so the real cue is always the same: the fish should flake cleanly and look opaque in the center.
Below, I’ll show you how to build the packets so the vegetables cook evenly, how to keep the fish from sticking, and a few smart swaps if you want to change up the seasoning or make it work with what’s already in your cooler.
The fish stayed unbelievably moist and the zucchini picked up all the lemon-butter flavor. I left the packets on for 18 minutes over the campfire and the fillets flaked perfectly without falling apart.
Save these lemony foil packet fish packets for camping nights when you want flaky fish, tender vegetables, and barely any cleanup.
The Packet Seal That Keeps Fish Tender Instead of Drying Out
Foil packet fish lives or dies on how the packet is folded. If there’s a gap, the butter runs out and the fish steams unevenly; if the foil is punched too tightly against the food, it can split as the juices bubble. A good packet has enough room for steam to circulate, with the seams crimped shut so the heat stays inside long enough to cook the fish gently.
Another thing that makes a difference is where you place the vegetables. Harder vegetables like zucchini and bell pepper go under and around the fish so they can catch the drippings and soften without turning mushy. The fish sits on top of that bed, which keeps it out of direct contact with the hottest surface and helps it cook evenly.
What Each Ingredient Is Actually Doing in the Packet

- Fish fillets — Salmon gives you the richest result, trout stays delicate and cooks quickly, and tilapia is the mildest option. Whatever you use, pick fillets that are similar in thickness so they finish at the same time.
- Heavy-duty aluminum foil — This is not the place to use the flimsy box foil from the back of the drawer. Heavy-duty foil holds up to steam, butter, and the weight of the vegetables, and it’s much less likely to tear when you open the packet.
- Lemon slices — The lemon doesn’t just add brightness; it perfumes the fish as it cooks and helps keep the top from tasting flat. Thin slices work best because thick rounds can block heat from reaching the center.
- Butter and garlic — Butter gives you the sauce inside the packet. Garlic needs only a short cook here, so mince it finely; big pieces can taste sharp and raw in the finished dish.
- Zucchini and bell pepper — These vegetables bring enough moisture to keep the packet juicy, but they still hold their shape after 15 to 20 minutes. Slice them evenly so they soften at the same pace as the fish.
- Dill or parsley — Dill leans classic with fish, while parsley keeps the flavor clean and fresh. Dried herbs can work in a pinch, but use less because they concentrate as the packet steams.
The Timing Window That Gives You Flaky Fish Every Time
Building the Packets
Lay each fillet in the center of a large sheet of foil and season it before adding the butter. Salt pulls out a little moisture, which helps the herbs and garlic cling instead of sliding off once the butter melts. Pile the lemon slices and vegetables over and around the fish, then fold the foil up and over the top, crimping the edges into a sealed packet. Leave a little air space inside so the steam can move; a flat, tight wrap tends to trap hot spots and cook the fish unevenly.
Cooking Over Medium Heat
Set the packets over medium heat, not roaring flames. If the fire is too hot, the outside of the foil scorches before the fish has time to cook through, and the vegetables stay crunchy while the fish overcooks at the edges. You’re looking for a gentle sizzle, not a furious pop. Around 15 minutes is a good starting point for thinner fillets, and thicker salmon may need the full 20.
Opening and Serving
Let the packets sit for a minute before opening them, then lift the top away from your face because the steam comes out fast. The fish is done when it flakes easily with a fork and looks opaque all the way through, with a little juices pooling in the bottom of the packet. If the center still looks translucent, close the packet back up and give it a few more minutes instead of letting it dry out on the grate.
How to Change the Packet Without Losing What Makes It Work
Make It Dairy-Free
Swap the butter for olive oil or a dairy-free buttery spread. You’ll lose a little of the round, rich finish that butter gives the packet juices, but the fish will still come out moist and the lemon will stay bright.
Use What’s in the Cooler
Swap zucchini and bell pepper for thin asparagus, sliced onions, or halved cherry tomatoes. Just keep the vegetables cut small enough to soften in the same window as the fish; big chunks can leave you with undercooked vegetables by the time the fillets are ready.
Turn It Into a Gluten-Free Camp Dinner
The recipe is naturally gluten-free as written, which is one reason it works so well for outdoor cooking. Just keep an eye on any added seasoning blends; some pre-mixed spices hide fillers or anti-caking agents that can muddy the flavor.
Storage and Reheating
- Refrigerator: Store leftovers in an airtight container for up to 2 days. The fish stays tasty, but the vegetables soften more as they sit.
- Freezer: I don’t recommend freezing the cooked packets. The fish texture turns watery after thawing, and the vegetables lose their shape.
- Reheating: Warm gently in a covered skillet over low heat or in a 300°F oven until just heated through. High heat dries out the fish fast, so stop as soon as it’s warm in the center.
