
Shrimp with black bean sauce is one of the most classic Cantonese seafood stir fries, and I developed my recipe with busy families in mind so that you can make it in 30 minutes with pantry ingredients and a small handful of aromatics.
Fermented black beans are one of the core savory ingredients in Cantonese seafood cooking, right alongside oyster sauce and Shaoxing wine. The beans are salted and dry-fermented soybeans with a concentrated funk that turns into deep umami the moment they touch hot oil, and Cantonese restaurants use them across steamed and stir-fried dishes. Two other places I use them at home are steamed fish with black bean sauce and steamed ribs in black bean sauce, which show how the same ingredient creates a different flavor experience depending on the protein and cooking method.
This is hands down one of those dishes I always order at Cantonese restaurants because it is simple but incredibly satisfying. I love making it at home because it is surprisingly easy once I keep a jar of fermented black beans in my pantry, and the sauce comes together in minutes. The whole dish is faster than ordering takeout while tasting just as fresh, which is why my husband is happy to see it on a weeknight instead of a delivery bag on the counter.
Here is how I make it, so you can get an idea of just how easy this recipe is. My version comes together in 3 simple passes at the wok: I sear the shrimp on one side for a light brown crust and set them aside, then stir-fry the aromatics and black beans and deglaze with Shaoxing wine, then pour in the sauce and return the shrimp for a final toss. I love that it is faster than a takeout order and the plate tastes closer to the real Cantonese seafood counter. Don’t just take my word for it, though. Make it for your family, and I hope you’ll love it as much as I loved developing this recipe for you!

Ingredients
To make this Shrimp with Black Bean Sauce recipe, I use the ingredients listed below. I’ve also included a few substitutions that I’ve tested and can assure you work great.

Shrimp: I use large peeled and deveined shrimp because they stay firm and juicy in the wok under a fast sear. I keep the tails on when I want the plate to look restaurant-style, and I pull them off when I am cooking for the family.
Marinade: I combine Shaoxing wine, kosher salt, and cornstarch to season the shrimp and give them the silky texture I get at Cantonese seafood restaurants.
Fermented black beans: I use whole fermented black beans rinsed and roughly chopped, because chopping releases their fragrance and lets them melt into the sauce. Rinsing knocks back the salt, and I skip that step only when the jar is labeled ready to use or already tastes mild. You can replace it with my homemade black bean sauce.
Aromatics: I chop minced ginger and garlic to go in with the black beans, and I split the scallions into whites and greens so the whites cook with the aromatics and the greens go in at the end for freshness. Dried Chinese chili peppers add a aroma and a mild background heat to the plate.
Sauce: I stir together chicken stock, oyster sauce, light soy sauce, sugar, white pepper, and cornstarch in one bowl before the wok goes on.
Vegetables: I roll-cut half a red onion into bite-size triangles, the shape holds onto the sauce and the pieces stay crisp after a short cook.
Finishing: I keep vegetable oil for the stir fry because it has a high smoke point, and I use a small pour of sesame oil at the very end for a Cantonese-style aromatic finish.
How to Make
Marinate the shrimp: Combine the shrimp, Shaoxing wine, salt, and cornstarch in a medium bowl. Let marinate for 10 to 15 minutes while preparing the rest of the ingredients.

Mix the sauce: In a small bowl, stir together the chicken stock, oyster sauce, light soy sauce, sugar, white pepper, and cornstarch. Set aside.
Sear the shrimp: Heat a tablespoon of oil in a wok over medium-high heat until it shimmers. Spread the shrimp into a single layer and cook without moving until lightly browned on the bottom, about 1 minute. Flip and stir just until the shrimp are almost cooked through, about 30 seconds more. Transfer the shrimp to a plate.

Bloom the aromatics: Add the remaining oil to the wok. Add the dried chiles, scallion whites, ginger, garlic, and fermented black beans. Stir-fry until fragrant, about 30 seconds.
Cook the red onion: Add the red onion and cook for 1 minute, until just softened at the edges but still crisp in the center.

Deglaze with wine: Pour in the Shaoxing wine and immediately scrape the bottom of the wok to release any browned bits. Cook until the wine has mostly evaporated, about 30 seconds.
Thicken the sauce: Stir the sauce again to dissolve the cornstarch completely, then pour it into the wok. Cook, stirring constantly, until the sauce thickens and coats the back of a spoon, about 1 minute.

Finish and serve: Return the shrimp to the wok along with the scallion greens. Toss everything to coat in the sauce. Turn off the heat and stir in a small drizzle of sesame oil. Transfer to a large plate and serve hot as a main dish.

My Cooking Tips
Marinate the shrimp with cornstarch, not just salt: The cornstarch coats each shrimp in a thin protective layer that holds moisture through the sear. Skip it and the shrimp cook up firmer and drier, even at the same timing.
Give the shrimp a real sear on the first side: I spread them in a single layer and leave them alone for a full minute so the bottom picks up a light brown crust before I flip them. The browning is where the restaurant-style character comes from, and it only happens if the shrimp are not moving in the wok.
Chop the fermented black beans instead of adding them whole: Whole beans can stay too firm and distinct in the sauce. A rough chop releases their fragrance the second they touch the hot oil and creates a fresher, more complex flavor.
Deglaze with Shaoxing wine before the sauce goes in: The pour of wine after the aromatics is what lifts the browned bits off the bottom of the wok and pulls that savory layer into the sauce. Without the deglaze, the wok bottom stays scorched and the sauce loses some of its depth and richness.
Optional baking-soda treatment for the plumpest shrimp: When I have extra time or I am hosting, I soak the shrimp in cold water with a small pinch of baking soda for 30 minutes, then rinse and pat dry before marinating. This is a Cantonese restaurant trick that gives the shrimp an extra-plump, crunchy-tender texture. I skip it on weeknights and the dish is still very good.
How to Serve
I serve this shrimp with black bean sauce onto a large plate with a bowl of steamed jasmine rice. The sauce is glossiest in the first few minutes off the heat, and the rice is what pulls it all together into a proper Cantonese-style plate. On a weeknight, my husband and I make this the whole dinner with a simple green on the side and a pot of tea.
When I finally got this recipe foolproof, I decided to share it with my colleagues. I served it with a plate of bok choy with oyster sauce as the crisp green side and a small bowl of spicy cucumber salad. For dessert I made some sticky rice cake with red bean paste and they were a total hit!
Frequently Asked Questions
Can I use bottled black bean garlic sauce instead of whole fermented black beans?
Yes. Use about 1 tablespoon bottled black bean garlic sauce in place of the fermented black beans. Since bottled sauce is already seasoned and usually contains garlic, you may want skip the garlic in the stir-fry, but otherwise you can follow the recipe as written. The finished dish will taste a little different – the bottled sauce creates a smoother, more uniform black bean flavor, while whole fermented black beans give you a more pronounced fermented aroma and little bursts of savory flavor. For the best Cantonese restaurant-style result, I prefer whole fermented black beans.
Can I make this dish spicy?
Yes. I used 2 dried Chinese chili peppers to add aroma, and I would use a small amount of doubanjiang (1 to 2 teaspoons) or a pinch of chili flakes if I want the plate to run spicier. You can also stir in 1 to 2 teaspoons of homemade chili oil at the very end for nutty spicy taste.
Can I substitute chicken or fish for the shrimp?
Yes. Thin-sliced boneless chicken thigh works well and gets the same marinade with an extra minute in the sear, and firm white fish like catfish or talipia can go in cut into 1-inch nuggets and folded into the sauce at the end with a gentle hand instead of tossed. The sauce also pairs surprisingly well with salmon, and I would cut the salmon into large bite-size squares.
Do I need a wok to make this recipe?
A wok is helpful because it gives me the high, direct heat that sears the shrimp and cooks the aromatics fast, but a large cast iron skillet or heavy stainless-steel pan works. The main adjustments are to cook the shrimp in 2 batches if the pan is smaller than my wok, and to preheat the pan a little longer so the surface is hot enough to sear instead of steam.
Want to Save This Recipe?
Enter your email below & we’ll send it to your inbox. Plus get great new recipes from us every week!

Cantonese Shrimp with Black Bean Sauce
Ingredients
Marinating
- 1 pound shrimp , peeled and deveined
- 1 tablespoon Shaoxing wine
- 1/4 teaspoon kosher salt
- 2 teaspoon cornstarch
Sauce
- 1/3 cup chicken stock
- 1 tablespoon oyster sauce
- 2 teaspoon light soy sauce
- 1 teaspoon sugar
- 1/8 teaspoon white pepper
- 1 teaspoon cornstarch
Stir fry
- 2 1/2 tablespoons vegetable oil
- 2 dried Chinese chili pepper , halved crosswise
- 2 scallions , sliced into 2” pieces, white and green parts divided
- 1 tablespoon minced ginger
- 1 clove garlic , minced
- 1 tablespoon fermented black beans , rinsed, drained, and roughly chopped (*Footnote 1)
- 1/2 red onion , roll cut into bite-size triangles
- 2 tablespoons Shaoxing wine
Instructions
- Combine the shrimp, Shaoxing wine, salt and cornstarch in a medium bowl. Let marinate for 10 to 15 minutes while preparing the rest of the ingredients.
- Combine the chicken stock, oyster sauce, light soy sauce, sugar, white pepper and cornstarch. Stir to combine.
- Heat 1 tablespoon of oil in a wok over medium high heat until it shimmers. Spread the shrimp into a single layer and cook without moving until lightly browned on the bottom, about 1 minute. Flip and stir just until the shrimp are almost cooked through. Transfer the shrimp to a plate.
- Add the remaining 1 1/2 tablespoons oil, dried chiles, scallion whites, ginger, garlic, and fermented black beans. Stir-fry until fragrant, about 30 seconds. Add the onion and cook for 1 minute, until just softened.
- Pour in the Shaoxing wine and immediately scrape the bottom of the wok to release any browned bits. Cook until the wine has mostly evaporated.
- Stir the sauce again to dissolve the cornstarch completely, pour into the wok. Cook, stirring constantly, until the sauce thickens, about 1 minute.
- Add back the shrimp and scallion green, toss everything to combine. Turn off the heat and stir in sesame oil. Transfer to a large plate and serve hot as a main dish.
Notes
- Fermented black beans vary by brand. Most are quite salty and benefit from a quick rinse under running water before using. If your black beans are lightly seasoned or labeled ready to use, you can skip the rinsing.
- To make the dish gluten-free: Use tamari to replace soy sauce and use dry sherry to replace Shaoxing wine. Make sure to use a gluten-free oyster sauce.
Nutrition
Did you make this recipe?
I’d love to hear how it turned out for you! Please take a moment to leave a 5-star rating ⭐️ and share your thoughts in the comments further down the page. It really helps others discover the recipe too.