chinese food/chinese take out/dinner/meat/recipes

Taiwanese Meat Sauce and Rice Recipe

Posted August 6, 2014 by Stephanie
chinese meat sauce and rice recipe -

chinese meat sauce and rice recipe -

Do you guys ever miss high school? Let me clarify – I don’t mean the school part of it, or the cliques or classes, I just mean the after school snacks. Man, after school snacks were the bomb. Snacks were, by far, the best part of a weekday. Sometimes my snack situation would be something simple like a giant bag of cheetos (I miss my teenage metabolism and penchant for crunchy styrofoam-y cheese snacks), sometimes it’d be a pack of instant noodles, but by far, the best after school snack was Taiwanese meat sauce.

chinese meat sauce and rice recipe -

Chinese meat sauce is the equivalent of bolognese or ragù. Essentially, it’s a super savoury meat sauce flavoured with soy instead of tomatoes. Both soy and tomatoes are high on the umami scale, so it seems to me to be a pretty even swap. Like ragù, Chinese meat sauce (or lǔ ròu or minced pork or braised pork) is fairly salty on its own and is meant to be eaten with rice or noodles.

chinese meat sauce and rice recipe -

Every family has their own version of this meat sauce. Some like it more salty, some more sweet. Some people use pork belly, some use ground pork. It’s one of those beautifully customizable dishes that you can put your own spin on and really call a family recipe. That’s exactly what I did here.

I’ve added in some black vinegar for acidity, Szechuan peppercorns for spice, cinnamon for warmth, crushed fennel for some complexity and wood ear mushrooms for crunch. It’s incredibly, incredibly moreish – true comfort food at it’s best. And, even better, you can make up a big batch, portion it out and freeze it for whenever the mood strikes.  Lǔ ròu fan, here I come!

chinese meat sauce and rice recipe -

Taiwanese Meat Sauce and Rice Recipe
serves 2-4

Meat Sauce

  • 2 teaspoons oil
  • 3 cloves garlic, minced
  • 1/2 onion or 1 small shallot, diced
  • 1/2 pound lean ground pork
  • 1/2 cup rehydrated wood ear mushrooms, chopped
  • 1/4 cup sweet soy sauce
  • 2 tablespoons Chinese black vinegar
  • 1/4 teaspoon Szechuan peppercorn powder
  • 1/4 teaspoon crushed fennel seeds
  • 1/4 teaspoon cinnamon
  • freshly ground pepper, to taste

Crispy Shallots

  • 1-2 medium shallots, sliced
  • 2 1/2 tablespoons neutral oil (not olive)

To Serve

  • fluffy white rice or grain of choice
  • soft boiled eggs, if desired
  • sliced green onions, to garnish
  • crispy shallots, to garnish

In a sauce pan, heat up the oil over medium high heat. Add the garlic and onions and cook, stirring until fragrant and golden. Add the ground pork and cook, breaking up the meat, until browned and cooked through. Add the remaining ingredients, taste, season with pepper (and salt, if needed), stir and simmer over low for 30-45 minutes to reduce and meld flavors.

While you’re waiting for your sauce, go ahead and make some rice. And if you want to crisp up some shallots, now is the time to do so. Add two and a half tablespoons of oil to a skillet and heat over medium low heat. Add the sliced shallots and gently fry, stirring occasionally until they turn golden brown, about 5-8 minutes. Keep a close watch as shallots deepen in color quite quickly! When golden, turn off the heat, scoop out the shallots and drain on paper towels. Let the shallot oil cool and save for other uses. If you’re feeling naughty, you can stir it into your sauce for some extra flavor, but I usually set it aside and use it wherever I need an extra bit of flavor in whatever I’m cooking (eggs, veggies, etc).

To serve, top your piping hot rice (or grain of choice) with meat sauce, a soft boiled egg sliced in half, green onions and crispy shallots. Enjoy!

chinese meat sauce and rice recipe -

Looking for other classic-ish Chinese food? Check out my steamed fish, chicken congee, mapo tofu or crispy noodle cakes!


  1. I want to eat this RIGHT. NOW. The sound of that deliciously salt-sweet-spicy pork, with a soft egg and some rice? Heaven.

  2. Haha I actually had this for dinner from a takeaway store tonight. I could so use this version because, well, it is at home and it is got that sauce!

  3. Joy says:

    I’m surprised you didn’t add the eggs to the meat sauce while cooking to make lu dan! Although I guess it would’ve meant hard boiled eggs vs. soft boiled eggs. But it’s sooooooooooo good!

    1. steph says:

      I would have but I was going for the soft boiled. But I do LOVE lu dan!!!

  4. Ugh, your description made me so hungry for this. RIGHT NOW. It’s 8:10 AM. My life.

  5. cynthia says:

    YES. YES. I’ve been daydreaming about recreating this at home — how did you know?! The Taiwanese version is one of my favorite meals ever. Ahh, this dish is like a hug for your stomach. So comforting. Your posts make every day better, Steph!

  6. Romy says:

    How do you make eggs look so amazeballs?!?

  7. KIM+PHIL says:

    One of my comfort foods!

  8. Jenna says:

    What would be a good substitute for pork in this recipe? Something that would bring out a similar flavour profile.

    1. steph says:

      You could try any ground meat that you prefer – it won’t have the same flavour profile as pork, but a lot of the flavour is from the soy and spices.

  9. William says:

    Do you have a recipe for sweet soy sauce or brand recommendation?

    1. steph says:

      I like using Lee Kum Kee :)

  10. Yes! I would love to have a bowl right here right now.

  11. tara says:

    Ohhhh after school snacks! I used to love eating ramen or one those microwaveable frozen fettuccine dishes. I have to admit, I do miss the back to school part, where you get all new supplies. The smell of fresh notebooks and markers is heavenly.

    This dish looks fantastic. Also, I’m going to use meat sauce as my new insult because it makes me laugh.

    1. steph says:

      HAHAHA! I too ate those microwaveable frozen fettuccines!!

  12. b says:

    can you tell me who makes that awesome egg timer?

    1. steph says:

      I got it while I was in Tokyo, but essentially it’s the same as this one: They sell it here as well, but it was only $1 in Japan.

  13. Amanda says:

    This sound so amazing right now! Black vinegar for the win!!

  14. Tieghan says:

    Oh my gosh, after school snack are the bomb. Yes, I loved them too!!

    This would have been a KILLER snack. I am in love and I want a huge bowl with double the egg! :)

  15. Askia Suruma says:

    Your mom adds sugar to hers, correct? If we wanted a sweeter taste, how much does she usually add? Thanks!

    1. steph says:

      Yes she does! I would start by adding a teaspoon than tasting and adjusting accordingly.

  16. Edwige says:

    That looks delicious, but, most importantly, where can I get the same egg time ? :D !

  17. That looks delicious. Possibly one of the best blogs have come across.

  18. Keyan Kaplan says:

    I have made this sauce, in triple recipe, twice. It freezes well, which I do with about a one-third since with this much salt/soy I want to give my digestive tract a break after the second dinner. The truth is that this is so good, so addictive, so satisfying that my husband and I have named it “pork crack” after “crack pie” from you know where.
    Thank you for such an easy and amazing dish.

  19. Elora says:

    Made this tonight and what a delight, delicious flavors. Will definitely make again! Yum!!

  20. Selina says:

    I miss home food so much as a college student haha …if I wanted to sub the whole spices you’re using for Chinese five-spice powder, around how much should I use?

    1. Stephanie says:

      hi selina,
      i’d try with 1/4 teaspoon, taste, and adjust. hope that helps!

Leave a Reply

Your email address will not be published. Required fields are marked *

$(function(){ var trigger = $('.hamburger'), overlay = $('.overlay'), isClosed = false; () { hamburger_cross(); }); function hamburger_cross() { if (isClosed == true) { overlay.hide(); trigger.removeClass('is-open'); trigger.addClass('is-closed'); isClosed = false; } else {; trigger.removeClass('is-closed'); trigger.addClass('is-open'); isClosed = true; } } $('[data-toggle="offcanvas"]').click(function () { $('#wrapper').toggleClass('toggled'); }); bindBehavior.subscribe(); });