

Sometimes, the most delicious dishes are the ones that require just a few ingredients, minimal effort, and only 30 minutes to come together. Inspired by Chinese steamed fish, this One-Pot Asian Steamed Fish features fresh, vibrant flavors, an umami-packed sauce, and perfectly cooked fish. It’s easy enough for a weeknight meal yet elevated enough to serve to guests.
This dish was inspired by Cantonese steamed fish. If you’ve never had it, I highly recommend giving it a try. With that said, I think it’s important to recognize the origins of this recipe and why it holds cultural significance.
Steamed fish is deeply rooted in tradition and is typically served for Lunar New Year, as well as other significant gatherings like birthdays and family gatherings. Traditionally, it features a whole white fish, simply seasoned and paired with an umami-rich sauce made from soy sauce, vinegar, ginger, and scallions. Steaming preserves the fish’s delicate texture and fresh flavor, resulting in a dish that is light yet deeply satisfying. The exact preparation and seasoning can vary by family and region.
Here, we take inspiration from these flavors—ginger, scallions, soy sauce, and cilantro—but use fish fillets instead of a whole fish. The result is an umami-packed dish that is light yet bursting with bold flavors. Like my other steamed one-pot fish recipes, it’s incredibly easy to put together and perfect for entertaining.
Large Lidded Pan – Think a braiser or a large sauté pan. Don’t have a pan big enough to hold the full amount of fish in this recipe? No problem! This recipe serves 4–5, but you can absolutely reduce it by half to fit your needs.
Prep + Season the Fish – Pat the fish fillets dry and check for any larger bones—you’d be surprised how often a few remain, even from a reputable fish counter. Drizzle the fillets with a neutral oil and season generously with salt, ensuring both sides are well coated. Set aside.
Assemble + Simmer- Add the garlic, ginger, the white parts of the scallions, and chopped chilies to the pot. Pour in the broth, soy sauce, and ponzu. Season with a pinch of salt (keeping in mind that the soy sauce already adds some sodium). Bring the pot to a simmer, cover, and let it cook for 5 minutes. Since the fish cooks incredibly fast, this step allows the flavors in the sauce to come together first.
Add the Fish – Turn off the heat momentarily and add the green parts of the scallions, creating a layer between the fish and the steaming sauce. Place the seasoned fish on top, aiming to rest it on the scallions rather than directly in the broth. If some pieces touch the liquid, don’t worry! Cover the pot and return to a low simmer.
The cooking time will vary depending on the thickness of the fillets. Thin perch fillets, like the ones used here, take about 6–7 minutes at most, while thicker cuts like cod may take closer to 15 minutes. Keep an eye on it and start checking around the 6-minute mark. Once the fish is cooked through, serve immediately with rice.
This is seafood—specifically fish—which I always recommend eating immediately for the best texture and flavor. However, if you do have leftovers, store them in an airtight container in the refrigerator for up to one day. When ready to reheat, place the fish back in a pan over low heat until warmed through.
Looking for other one pot fishes? Check out the below recipes.
Coconut Steamed Fish
Mediterranean Fish
One Pot Tomato Poached Fish
I came across this recipe on a whim and figured I was going to the fish market anyway so I made it and it was beyond flavorful. I love how tender the fish was, and the sauce was delightful!