Beverages
This one-pot steamed fish with black beans recipe delivers a harmonious blend of delicate white fish and hearty black beans, all infused with aromatic spices and steamed to perfection.
The simplicity of the method—just one pot, minimal prep—makes it ideal for a quick yet impressive meal that highlights the natural flavors of both ingredients. I first discovered this technique while testing ways to elevate simple weeknight dinners without sacrificing texture or taste.
The beauty of this dish lies in its balance: the fish remains silky and flaky, while the black beans absorb the savory broth and develop a satisfying earthy richness.
A touch of ginger, garlic, and soy sauce builds depth, while scallions add a fresh finish that brightens every bite. The one-pot approach ensures the fish steams gently, preserving its moisture and delicate flavor without overcooking.
By the time you finish, you’ll have a restaurant-worthy meal that’s ready in under 30 minutes—no complicated techniques required. The fish will be tender and lightly seasoned, the black beans perfectly tender with a subtle smokiness, and the entire dish infused with a light, aromatic broth.
It’s the kind of recipe that feels both elegant and effortless, perfect for pescatarians or anyone craving a lighter yet satisfying dinner.
Serve with steamed jasmine rice or a simple green salad to round out the meal. The leftovers reheat beautifully, making this an excellent choice for meal prep or entertaining. Let’s get started on this one-pot wonder that brings together two simple ingredients in a way that feels truly special.
Ingredients for steamed fish with black beans
The perfect balance of delicate fish and hearty black beans in one elegant pot.
| Ingredient | Amount | Notes |
|---|---|---|
| White Fish Fillets 🐟 | 1 ½ lb | Cod, tilapia, or snapper preferred |
| Canned Black Beans 🥄 | 1 ½ cups | Drained and rinsed thoroughly |
| Jasmine Rice 🍚 | 1 cup | Uncooked, long-grain preferred |
| Fresh Ginger 🌿 | 2 tbsp | Finely grated, aromatic variety |
| Garlic Cloves 🧄 | 4 cloves | Minced for aromatic depth |
| Low-Sodium Soy Sauce 🍶 | 2 tbsp | Kikkoman preferred for balance |
| Sesame Oil 🫒 | 1 tbsp | Toasted for nutty aroma |
| Scallions 🧅 | ¼ cup | Thinly sliced, green parts only |
| Vegetable Broth 💧 | 2 cups | Low-sodium for delicate flavor |
| Extra-Virgin Olive Oil 🫒 | 1 tbsp | Light infusion, fruity variety |
| Diamond Crystal Kosher Salt 🧂 | 1 tsp | Fine grain for even seasoning |
| Ground White Pepper 🌶️ | ½ tsp | Freshly ground for subtle heat |
| Fish Sauce 🍶 | 1 tsp | Red Boat preferred for quality |
| Lemon Zest 🍋 | 1 tsp | Freshly grated for brightness |
The quality of your fish determines this dish's success. Whole Foods or Trader Joe's carry excellent cod or tilapia fillets with consistent texture—look for pieces with minimal bruising and a fresh, oceanic aroma. If using snapper, opt for the freshest cut available since it has a shorter shelf life. The black beans should be low-sodium to avoid overpowering the delicate fish flavor; Goya or Bush's brands are reliable choices. For the ginger, organic varieties from the produce section tend to have more potent flavor, though conventional works fine if freshly grated. The scallions should be crisp and vibrant—avoid any with wilted green tops, as they'll detract from the dish's fresh finish.
No fresh ginger? Powdered ginger at half the amount works in a pinch, though it lacks the same depth. Substituting white wine for half the vegetable broth adds complexity if you prefer, though the soy sauce already provides umami richness. The fish sauce can be omitted entirely for a vegetarian adaptation, though it adds that signature savory depth. For the rice, jasmine rice is non-negotiable—its floral notes complement the dish beautifully. If you're short on time, pre-cooked sushi rice can be used, though it requires less liquid. The sesame oil should be toasted—look for Kadoya or La Tourangelle brands in the international aisle for the best quality.
This dish reheats beautifully, making it ideal for meal prep. Store in an airtight container with the broth for up to 3 days in the fridge, though the fish is best enjoyed within 2 days for optimal texture. For longer storage, freeze portions for up to 2 months, though the fish may become slightly drier upon reheating. The rice can be pre-cooked and stored separately for up to 5 days. To serve, simply reheat with a splash of water or broth, then garnish with fresh scallions and a drizzle of sesame oil. The leftovers actually improve overnight as the flavors meld further.
Why You'll Love This Recipe
- No-Fuss Pantry Staples: I swear by this recipe when I’m staring at a half-empty fridge. Canned black beans and jasmine rice? Already in my cupboard. Fresh ginger and garlic? One quick trip to the produce section. The fish is the only thing I need to buy fresh—and honestly, that’s all I’m willing to splurge on for dinner.
- Umami Bomb Combo: Between the black beans’ smoky depth and the ginger-garlic steam, this dish tastes like it simmered for hours. The fish stays tender but flakes apart at the touch of a fork—like a restaurant-quality bite without the fuss.
- Weeknight to Weekend: Throw it together for a lazy Tuesday or serve it at a potluck—no one will question why it’s your go-to. The rice soaks up the flavors, the beans add heartiness, and the fish feels special enough for company. (Between us, I’ve even brought it to book clubs.)
- Leftovers That Don’t Suck: Cold fish and rice? Usually a crime. Not here. The ginger keeps it bright, and the beans add texture. I’ll pack two portions the night before—one for lunch, one for “I don’t feel like cooking” nights. Zero waste, zero regret.
Step-by-step instructions for steamed fish with black beans
This one-pot method delivers tender fish and perfectly seasoned beans with minimal cleanup.
Prepare the Fish and Aromatics
Rinse the 1.5 lb white fish fillets under cold water and pat them completely dry with paper towels. Arrange them in a single layer in a heatproof one-pot dish large enough to hold all ingredients. In a small bowl, combine the 2 tbsp finely grated fresh ginger, 4 cloves minced garlic cloves, 1 tbsp sesame oil, 1 tbsp extra-virgin olive oil, 1 tsp fish sauce, 1 tsp lemon zest, and 0.5 tsp ground white pepper. This aromatic blend will infuse the fish and beans with depth.
Spread the aromatic mixture evenly over the fish fillets, pressing gently to ensure the marinade adheres. Let the fish sit at room temperature for 10 minutes while you prepare the remaining ingredients. This brief marinating period enhances flavor penetration without overcooking the delicate fish.
Layer the Black Beans and Rice
Drain and rinse the 1.5 cups canned black beans thoroughly to remove excess sodium. Arrange them in an even layer over the fish fillets, pressing down gently to create a compact base. This layering technique ensures the beans absorb flavor from the fish while maintaining their texture.
Next, spread the 1 cup uncooked jasmine rice evenly over the black beans. The rice will absorb the cooking liquid and steam the fish gently, creating a cohesive dish. Sprinkle the 0.25 cup thinly sliced scallions evenly over the rice for a final layer of freshness and visual appeal.
Season and Steam the One-Pot Dish
Pour the 2 cups vegetable broth over the entire dish, ensuring the liquid reaches the top layer of rice. Sprinkle the 1 tsp diamond crystal kosher salt evenly over the surface. This precise seasoning balances the natural flavors without overpowering the delicate fish and earthy beans.
Cover the one-pot dish tightly with a lid or aluminum foil, creating an airtight seal. Place the dish in a steamer basket or directly on the stove over medium-high heat. Bring the liquid to a rolling boil, then immediately reduce the heat to medium-low. The goal is to maintain a gentle simmer throughout the cooking process.
Cook Until Perfectly Tender
Steam the dish for 18-20 minutes, checking periodically to ensure the liquid remains at a gentle simmer. You'll notice the rice begins to absorb the liquid and the fish becomes opaque with just a hint of translucency at the edges. This indicates the fish is nearly done but still moist.
When the rice appears fully cooked and the fish flakes easily with a fork, remove the dish from heat. Let it rest for 5 minutes before serving. This resting period allows the juices to redistribute, ensuring each bite is moist and flavorful. The one-pot method guarantees all components cook together harmoniously.
Pro Tips For Making Steamed Fish With Black Beans
- Prep Beans First: Drain and rinse those canned black beans before adding them to the steamer basket—otherwise, they’ll turn into a soggy mess. I learned this the hard way when my first batch dissolved into a watery paste mid-steam.
- Salt Fish Last: Skip salting the fish until the very end—right before it goes into the steamer. Salt draws out moisture, and you don’t want flaky fillets turning into a sad, watery pile while they steam.
- Ginger-Garlic Paste: Mince the ginger and garlic into a fine paste with a splash of water—this ensures even distribution and prevents burning. My grandmother swore by this, and she was right: no more charred bits in your sauce.
- Rice Ready First: Start the jasmine rice before you steam the fish—it takes longer than you think, and you’ll end up with cold, sad grains if you wait. Trust me, I’ve done it both ways.
Creative variations of this steamed fish with black beans
Asian-Inspired Fusion
Transform this dish into an Asian-inspired delight by swapping the soy sauce for 1 tbsp hoisin sauce and 1 tbsp rice vinegar. Add 1 tsp grated galangal (or ginger if unavailable) and 1 star anise pod to the aromatic blend for a fragrant, aromatic depth.
Top with thinly sliced red chili and cilantro for a vibrant finish. The hoisin adds a sweet-savory complexity that pairs beautifully with the fish's natural sweetness. 🌶️
Spicy Cajun Twist
For a Cajun-inspired variation, replace the soy sauce with 2 tbsp Cajun seasoning (like Tony Chachere’s) and add ½ tsp smoked paprika to the fish marinade. Stir in ½ cup diced bell peppers and ¼ cup chopped green onions with the black beans.
Finish with a sprinkle of filé powder for a tangy kick. This version delivers bold, smoky heat that contrasts perfectly with the tender fish. 🔥
Mediterranean Herb Infusion
Give this dish a Mediterranean flair by swapping the sesame oil for 1 tbsp olive oil and adding 1 tsp dried oregano and ½ tsp crushed red pepper to the fish marinade. Replace the black beans with ½ cup cooked chickpeas and ½ cup diced tomatoes for a lighter texture.
Garnish with fresh parsley and a drizzle of lemon wedges for brightness. The herbs add a bright, herby complexity that feels fresh and summery. 💛
Smoky Chipotle Adaptation
For a smoky, spicy take, blend 1 tbsp adobo sauce (from canned chipotles) into the soy sauce before adding it to the fish. Add ½ tsp ground cumin to the black beans and top with crumbled cotija cheese and pickled red onions.
The chipotle brings deep, smoky heat that pairs beautifully with the earthy beans and delicate fish. Serve with warm corn tortillas for scooping. ✨
Lemon-Garlic White Wine Upgrade
Elevate this dish with a white wine infusion by replacing half the vegetable broth with 1 cup dry white wine (like Sauvignon Blanc). Add 1 tbsp butter to the fish marinade and finish with zest from 1 lemon and 2 tbsp chopped parsley.
The wine adds a bright acidity that cuts through the richness, making the fish even more refined. Perfect for a special weeknight dinner. 🍷
Nutrition facts
Frequently asked questions
Can I use frozen fish instead of fresh for this recipe?
Fresh fish is ideal for this steamed dish, but you can use frozen fish if thawed properly. Place frozen fillets in a sealed bag and submerge in cold water for 20-30 minutes until completely thawed. Pat them very dry before cooking to prevent excess moisture from steaming. For best results, use fish that's been frozen for no longer than 2 months.
How do I adjust this recipe for a larger group?
Double all ingredients for 8 servings, but use a larger pot with a tight-fitting lid to maintain proper steam circulation. For extra-large batches, consider cooking in two separate pots simultaneously. The key is keeping the layers even—fish first, then beans, then rice—to ensure even cooking and flavor distribution.
What if my fish cooks too fast and dries out?
This happens when the heat is too high or the fish is overcrowded. Reduce heat to medium-low and ensure the fish fillets aren't touching each other. For thicker cuts, remove them when the edges are just opaque (12-14 minutes) and let them rest 5 minutes before serving—they'll continue cooking slightly from residual heat.
Can I make this dish in an Instant Pot?
Yes! Arrange the fish, beans, and rice as directed, then add 1.5 cups liquid (broth + extra water). Seal the lid and cook on high pressure for 8 minutes, then quick-release. The fish will be perfectly tender, and the beans will absorb the flavors beautifully. Just be gentle when releasing the pressure to avoid overcooking.
What's the best way to store leftovers?
Store in an airtight container with the lid slightly loose to prevent condensation buildup. Refrigerate for up to 3 days, or freeze for 2 months. To reheat, warm gently in a pot with 2 tbsp water over medium-low heat for 5-7 minutes, stirring occasionally. The fish reheats best when covered to retain moisture.