Foil packet fish comes off the heat tender, flaky, and full of bright lemon-herb flavor, with the vegetables steaming in their own juices right alongside the fillets. It’s one of those meals that feels simple in the best way: a few good ingredients, sealed up tight, and dinner practically cooks itself while you wait for the fish to turn opaque and release cleanly with a fork.
The trick is keeping the packets closed enough to trap steam, but not packed so tightly that the vegetables overcook before the fish is done. Butter melts over the garlic and herbs, lemon slices perfume everything, and the foil keeps the fillets from drying out over the fire or grill. That balance is what makes this method work so well for salmon, trout, or tilapia.
Below, I’ve included the small details that matter most, from choosing the right foil to knowing exactly when the fish is ready. There’s also a few smart variations if you want to swap the vegetables or adapt this for a different cooking setup.
I used trout and the packets turned out perfect at 18 minutes. The fish was flaky but still moist, and the zucchini picked up all that lemon-garlic butter from the foil.
Save this foil packet fish for an easy campfire dinner with flaky fish, lemon, and vegetables sealed in one packet.
The Packet Seal That Keeps the Fish Tender, Not Dry
The biggest mistake with foil packet fish is leaving too much air space or not sealing the edges well enough. When steam escapes, the fish loses the gentle, enclosed heat that keeps it juicy, and the vegetables can end up leathery instead of tender. A tight seal doesn’t mean crimped flat against the food; it means the foil is folded securely so the packet can puff a little as it cooks.
Heavy-duty foil matters here, especially over campfire grates or a hot grill. Thin foil tears when you flip or move the packets, and a torn packet leaks the butter, lemon, and juices that carry the flavor. If your fillets are thin, start checking early, because fish overcooks fast once the center turns opaque and starts flaking easily.
What the Fish, Lemon, and Vegetables Are Each Doing Here

- Fish fillets — Salmon gives you the richest result, trout stays delicate, and tilapia is the mildest, quickest-cooking option. Any of them works, but thinner fillets need less time, so check early instead of waiting for the full 20 minutes.
- Heavy-duty foil — This is what makes the packet practical over a campfire or grill. Regular foil can split when you turn the packets, and once that happens the steam escapes and the fish dries out.
- Lemon slices — They don’t just add brightness; they protect the fish a little from direct heat and perfume the steam inside the packet. Thin slices work better than wedges because they cover more surface and heat through evenly.
- Butter — Butter carries the garlic and herbs into the fish and vegetables as it melts. Olive oil can stand in, but the finished packet won’t have quite the same round, rich finish.
- Zucchini and bell pepper — These vegetables soften without needing much time, which makes them a good match for quick-cooking fish. Cut them evenly so they’re tender by the time the fish flakes.
Building the Packets So Everything Finishes at the Same Time
Start with the vegetables on the outside
Lay the fish in the center of each foil sheet, then tuck the sliced zucchini and bell pepper around it instead of piling everything on top. That lets the vegetables sit closer to the hottest steam and cook through while the fish stays protected. If you bury the fillet under the vegetables, the top can end up overcooked while the center is still catching up.
Season before the butter melts
Salt, pepper, garlic, and herbs should go on the fish before the butter pat so the seasoning sticks as the butter melts down. The garlic can burn if it’s left exposed on a blazing-hot grate, so keep it tucked near the fish and under the lemon slices. That little layer of protection is what keeps it mellow instead of sharp.
Cook just until the fish flakes
Set the packets over medium heat and leave them alone for most of the cooking time. Open one carefully near the end and test the thickest part with a fork; the fish should separate into clean flakes and look opaque all the way through. If it still looks translucent in the center, fold the packet back up and give it a few more minutes.
Swap in shrimp for a faster packet
Large shrimp cook in about half the time and work well with the same lemon-garlic butter. Add them on top of the vegetables and start checking after 8 to 10 minutes, because shrimp turn rubbery fast once they lose their translucence.
Make it dairy-free with olive oil
Use olive oil in place of butter and add an extra pinch of salt to round things out. You’ll lose a little of the buttery finish, but the fish still stays moist and the lemon and herbs stay front and center.
Change the vegetables for what’s in the fridge
Thin asparagus, sliced onions, cherry tomatoes, or corn kernels all work here. Pick vegetables that soften in about the same time as the fish, and cut denser ones thinner so the packet doesn’t finish with crunchy pieces and perfect fish.
Storage and Reheating
- Refrigerator: Store leftovers in an airtight container for up to 2 days. The fish will still taste good, but the vegetables soften more after chilling.
- Freezer: I don’t recommend freezing cooked foil packet fish. The texture of the fish and vegetables both turn soft and watery after thawing.
- Reheating: Warm gently in a 300°F oven, loosely covered, just until heated through. High heat dries the fish out fast, and the vegetables can turn mushy before the center is warm.
Questions I Get Asked About This Recipe

Foil Packet Fish
Ingredients
Equipment
Method
- Lay out 4 sheets of heavy-duty aluminum foil and place 1 fish fillet in the center of each sheet.
- Top each fillet with minced garlic, dill or parsley, salt, and pepper, then add a pat of butter on top.
- Arrange lemon slices over the fish, then surround them with sliced zucchini and bell pepper.
- Fold the foil up and over to form sealed packets, pressing along the edges so steam can’t escape.
- Place packets on a campfire grate over medium heat for 15-20 minutes, until the fish flakes easily with a fork.
- Carefully open each packet and serve immediately, letting the lemon and juices coat the fish and vegetables.