If you've ever been to a Din Tai Fung restaurant, then you've definitely see these Stir-Fried Shanghai Rice Cakes or "Chao Nian Gao" on the menu. You get soft and chewy rice cakes tossed with tender pork, napa cabbage, and shiitake mushrooms in a umami, soy-based sauce.

This dish is also popular to eat for Lunar New Year as rice cakes symbolizes prosperity, growth, and achieving more success each year.
What Are Shanghai Rice Cakes (Chao Nian Gao)?
Shanghai rice cakes are made from glutinous rice and sliced into thick oval pieces. When stir-fried, they soften while keeping that signature chewy, slightly stretchy texture.
Chao Nian Gao is a traditional Shanghai-style preparation where rice cakes are stir-fried with pork, cabbage, and aromatics in a savory soy-based sauce.
Why You’ll Love These Shanghai Rice Cakes
- Perfect chewy bite: Soft, tender, and never mushy when cooked just right.
- Classic Shanghai flavors: Savory, lightly sweet, and deeply comforting.
- Better than takeout: Better flavors and lower cost than the restaurant (in my opinion).
Equipment You’ll Need
- Large pan or wok
- Mixing bowls
- Whisk
- Spatula or wooden spoon
Ingredients
For the Pork
- Pork shoulder: Rich, juicy, and ideal for quick stir-frying
- Soy sauce
- Oyster sauce
- Corn starch: Helps tenderize the pork
- Salt
Sauce
- Soy sauce
- Dark soy sauce: Adds deeper color and flavor
- Shaoxing wine: Traditional Chinese cooking wine for depth
- Oyster sauce
- Granulated sugar: Balances the savory notes
- Sesame oil
- Corn starch
- White pepper
Stir-Fry Ingredients
- Avocado oil
- Garlic
- Ginger
- Dried shiitake mushrooms: Earthy umami after rehydrating. Make sure to save the soaking liquid for later!
- Napa cabbage
- Green onions
- Rice cakes (frozen or vacuum-sealed): I prefer using frozen rice cakes but vacuum sealed works well too!
- Low-sodium chicken broth: Softens rice cakes and builds sauce
Garnishes
- Green onions
- Chili oil
Customizations
- Swap the protein: Chicken thighs or chicken breast work beautifully.
- Extra vegetables: Add bok choy, snow peas, or bean sprouts.
- Spicy version: Finish with chili crisp or extra chili oil.
How to Make Stir-Fried Shanghai Rice Cakes
Marinate the Pork
In a bowl, combine pork shoulder with soy sauce, oyster sauce, corn starch, and salt. Mix well and marinate for 10 minutes.
Mix the Sauce
In a small bowl, whisk together soy sauce, dark soy sauce, Shaoxing wine, oyster sauce, sugar, sesame oil, corn starch, and white pepper. Set aside.
Cook the Pork
Heat avocado oil in a large pan or wok over medium-high heat. Stir-fry the pork for 2–3 minutes until just cooked. Remove and set aside.
Stir-Fry Other Ingredients
Add a drizzle of oil, then add the garlic and ginger. Stir-fry for about 30 seconds until fragrant.
Add shiitake mushrooms and deglaze the pan with a splash of reserved soaking liquid. Cook for 1 minute.
Add Vegetables
Add napa cabbage and green onions. Stir-fry for 1–2 minutes until slightly softened.
Cook the Shanghai Rice Cakes
Add rice cakes and chicken broth. Cover and simmer for 2–4 minutes until tender but still chewy. Keep an eye on these as rice cakes can become soggy if overcooked!
Finish and Serve
Return pork to the pan, pour in the sauce, and toss until evenly coated and glossy. Serve immediately with green onions and chili oil.

Storage
Store leftovers in an airtight container in the refrigerator for up to 2 days. Reheat gently on the stovetop with a splash of broth to loosen the sauce.
Tips to Make the Perfect Stir-Fried Shanghai Rice Cakes
- Control the chew: Don’t overcook the rice cakes or they’ll become soggy.
- Prep first: Once cooking starts, everything moves fast.
- Use mushroom soaking liquid: Adds extra depth without extra seasoning.
Frequently Asked Questions (FAQs)
Can I use dried or vacuum-sealed rice cakes?
Yes! If using dried rice cakes, soak in lukewarm water for 3–4 hours, then separate them before cooking. If using vacuum-sealed rice cakes, just separate them before cooking.
Do you need to pre-soak rice cakes if using frozen?
No soaking needed. Frozen rice cakes can go straight into the pan with broth.
Can I make Shanghai Rice Cakes with Shaoxing wine?
Substitute Shaoxing wine with chicken broth and a tiny splash of rice vinegar.
Related Recipes You’ll Love
- Beef Yaki Udon Noodles Stir-Fry
- Chinese Tomatoes and Eggs Stir-Fry
- Pad Kra Pao (Ground Pork & Holy Basil Stir-Fry)
- Pad See Ew (Thai Stir-Fried Noodles)

Stir-Fried Shanghai Rice Cakes (Chao Nian Gao)
Ingredients
For the Pork
- 8 oz pork shoulder cut into 1-inch thin strips
- 1 tablespoon soy sauce
- 1 tablespoon oyster sauce
- 1 teaspoon corn starch
- ¼ teaspoon salt
Sauce
- 2.5 tablespoon soy sauce
- 2 teaspoon dark soy sauce
- 1 tablespoon Shaoxing wine
- 1.5 tablespoon oyster sauce
- 1.5 teaspoon granulated sugar
- 1 teaspoon sesame oil
- ½ teaspoon corn starch
- Dash of white pepper
Stir-Fry Ingredients
- Avocado oil
- 3 cloves garlic minced
- 1 teaspoon minced ginger
- 5 dried shiitake mushrooms rehydrated and thinly sliced (save soaking liquid for later)
- 3 cups Napa cabbage washed, drained, and chopped into 1-inch strips
- 2 green onion cut into 2-inch pieces
- 1 pound rice cakes frozen or vacuum-sealed (see recipe notes for extra instructions)
- ⅔ cup low-sodium chicken broth
Garnishes
- Chopped green onions
- Chili oil
Instructions
- In a bowl, combine the pork shoulder with soy sauce, oyster sauce, corn starch, and salt. Mix until evenly coated and let marinate for 10 minutes.8 oz pork shoulder, 1 tablespoon soy sauce, 1 tablespoon oyster sauce, 1 teaspoon corn starch, ¼ teaspoon salt
- In a small bowl, whisk together soy sauce, dark soy sauce, Shaoxing wine, oyster sauce, sugar, sesame oil, corn starch, and white pepper until smooth. Set aside.2.5 tablespoon soy sauce, 2 teaspoon dark soy sauce, 1 tablespoon Shaoxing wine, 1.5 tablespoon oyster sauce, 1.5 teaspoon granulated sugar, 1 teaspoon sesame oil, ½ teaspoon corn starch, Dash of white pepper
- Heat a bit of avocado oil in a large pan or wok over medium-high heat. Add the marinated pork and stir-fry until just cooked through, about 2-3 minutes. Remove from the pan and set aside.Avocado oil
- Add another drizzle of avocado oil then add the garlic and ginger. Stir-fry until fragrant, about 30 seconds. Add the rehydrated shiitake mushrooms and deglaze the pan with a splash or two of the reserved soaking liquid. Cook for about 1 minute until softened.3 cloves garlic, 1 teaspoon minced ginger, 5 dried shiitake mushrooms
- Add the Napa cabbage and green onions then stir-fry for 1-2 minutes until the cabbage softens slightly.3 cups Napa cabbage, 2 green onion
- Add the frozen rice cakes and chicken broth. Cover and simmer for 2-4 minutes until the rice cakes are tender and slightly chewy (be careful not to overcook as the rice cook will become soggy). Return the pork to the pan, pour in the sauce, and toss everything together until evenly coated and the sauce slightly thickens.1 pound rice cakes, ⅔ cup low-sodium chicken broth
- Serve immediately and garnish with chopped green onions and optional chili oil.Chopped green onions, Chili oil
Notes
- If using vacuum-sealed rice cakes, separate rice cakes before cooking.
- If using dried rice cakes, pre-soak in lukewarm water for 3-4 hours. Afterwards, separate the rice cakes with your hands before cooking.





Oct Her says
?
Kimi Wei says
Thanks for the recipe. I'm not sure what this means: "Substitute Shaoxing wine with chicken broth and a tiny splash of rice vinegar." Also, how can I get my cabbage to char slightly?
Herman says
If you don't have shaoxing wine or prefer a non-alcoholic version, you can substitute it with the same amount of chicken broth + rice vinegar to get a similar-ish flavor profile. If you want to char the cabbage, make sure to cook the cabbage first in the skillet or wok in very high heat