Dirty Cabbage (spicy mala xiang guo style – high-protein!)

A spicy twist on viral dirty cabbage, made mala-style with ground beef, tofu, Sichuan pepper and chilli oil. High-protein and ready in under 30 mins.

I’ve been seeing the viral dirty cabbage recipe floating around the internet, and my first thought was: this would be SO GOOD done mala xiang guo style.

Whenever I get mala xiang guo, I always load up on the cabbage because it is just so good in a stir-fry. It soaks up all that spicy, savoury, slightly numbing sauce and somehow becomes the best thing in the entire wok.

Pretty proud of my intuition on this one because this was SO FIRE.

And the best part? It’s quick and easy. You really don’t need much to make this work. All you need is a jar of your favourite chilli oil. ANY will work (feel free to whip out the lao gan ma), though I love my homemade version. I added Sichuan peppercorns because I wanted that proper mala numbing effect, but if you don’t have any, just skip them.

This is also volume-eating protein at its best. I didn’t just do ground beef for protein. I added firm tofu too, which bumps up the protein and gives the dish more texture without feeling like you’re just shovelling ground beef into your mouth. You get loads of tender cabbage, chewy tofu, savoury beef and spicy broth in every bite.

Basically, it’s dirty cabbage meets mala xiang guo, with a little more broth and a lot of flavour.


What is Dirty Cabbage?

The viral dirty cabbage recipes floating around are generally Cajun or Southern-inspired, taking the idea behind dirty rice and swapping the rice for cabbage. The โ€œdirtyโ€ part comes from all those browned, seasoned bits of meat and spices, giving it a darker, deeply savoury appearance.

The usual meat base is a combination of ground meat and sausage, along with plenty of Cajun-style seasoning. It’s simple, cheap, comforting and, just a very good way to make a huge pile of cabbage disappear.

For my version, I took that idea and gave it a mala xiang guo-inspired twist. Mala xiang guo is basically a Chinese stir fry dry pot dish with ingredients tossed in a bold, spicy, numbing Sichuan sauce.

Instead of making it a dry stir-fry, I add stock and let the cabbage steam directly over the broth before mixing everything together. This gives you a spicy, savoury broth that gets absorbed into the cabbage, while the beef and tofu make it much more substantial.


Why You’ll Love this Mala Dirty Cabbage

  • Big flavour, minimal effort. Most of the flavour comes from chilli oil, aromatics and a few pantry staples.
  • High protein and filling. Ground beef and firm tofu give you a good protein hit without needing a huge amount of meat.
  • One-pot meal. Everything happens in one pot, so there’s very little washing up.
  • Easy to customise. Add mushrooms, beansprouts, more chillies or whatever vegetables you need to use up.
  • Weeknight-friendly. It takes around 30 minutes from start to finish.
  • Great for volume eating. You get a huge portion of cabbage and plenty of protein, so it feels like a proper meal rather than a tiny bowl of โ€œhealthy foodโ€.

Key Ingredients

Cabbage

The star of the show. I use around 500 g / 1.1 lb of cabbage, roughly chopped into bite-sized pieces.

I prefer larger pieces to give you more texture and hold up better in the broth. They also catch all that spicy sauce in the folds. A finer slice works too, it will make it easier to scoop it up with the proteins.

Note: I also added mushrooms and beansprouts to bump up the fibre and bulk out the dish even more. Both are completely optional, so feel free to add whatever extra vegetables you have in the fridge.

Protein

  • Ground beef: Ground beef gives the dish that classic dirty cabbage base. I like to use lean beef so the dish stays relatively light while still getting plenty of savoury, meaty flavour. The trick is to let the beef brown properly rather than immediately stirring it into oblivion. Those crispy browned bits make a big difference.

  • Firm tofu: I added firm tofu to bump up the protein without making the dish feel like you’re just shovelling ground beef into your mouth. I roughly crumble it into chunky pieces so it picks up all the beefy, spicy flavours while still giving you some texture. It also makes the dish much more filling. Don’t use soft or silken tofu, the texture is not ideal for this stir fry!

Seasonings

  • Chilli oil: This is the main flavour powerhouse of the dish! You don’t need a complicated mala paste here. Your favourite chilli oil provides the heat, chilli flavour and richness. I use it in two stages: some to sautรฉ the aromatics, then the rest goes in with the seasonings to really build that spicy flavour.
  • Sichuan peppercorns: These give the dish its signature mala character, with their fragrant, citrusy and numbing flavour. I use whole Sichuan peppercorns, toast them briefly at the start, then lightly crush them. Don’t have any? Just skip them. The chilli oil is enough to make this a delicious spicy cabbage dish.
  • You can also use sichuan peppercorn powder, though I find these tend to mellow in intensity very quickly.
  • A better alternative if you can find would be sichuan peppercorn oil. Skip the toasting step, and drizzle it in with the chilli oil.
  • Light soy sauce: This provides the main savoury, salty seasoning for the beef, tofu and broth.

  • Sugar: Just a little helps balance the salt, chilli and spices and rounds out the overall flavour. You won’t really taste sweetness in the finished dish.

  • Ground cumin: I love my mala xiang guo with cumin, so of course I have to add it in here! A small amount adds warmth and depth to the spice base, rounding out the chilli and Sichuan pepper.

  • Sesame oil: A small drizzle at the end adds a lovely nutty aroma and rounds off the flavours. Add it after cooking rather than earlier so you don’t lose its fragrance.

If you have doubanjiang, add a tablespoon in for depth. I skipped it since I donโ€™t always have this ingredient at home.

Aromatics

  • Onion, garlic and ginger: These create the savoury aromatic base. The onion adds sweetness as it softens, while garlic and ginger add depth to the broth.

  • Fresh chillies: Dirty cabbages use capsicums, but I swapped it with chillies to add another layer of fresh heat and colour! Adjust according to how spicy you like your food.

Broth

  • Stock: Chicken, beef or veggie stock for brothiness! Adds depth of flavour that the cabbages absorb when everything is tossed together. Water can also work if in a pinch, I would add a dash more soy sauce to season.

  • Cornstarch: Optional, but I like adding a small cornstarch slurry at the end to give the broth a little more body. Cabbages release a lot of liquid, so a bit of slurry helps thicken it up to a gravy consistency, rather than a soup!

High Protein Upgrade

This Mala Dirty Cabbage already packs in a good amount of protein thanks to the combination of lean ground beef and firm tofu with approximately 78-84g protein.

  • The entire dish has approximately 78-84g protein. If serving 2 pax, this means ~42 g of protein per serving!

If you want to add even more protein, you can toss in scrambled eggs or edamame.

It’s an easy way to turn a cabbage-heavy stir-fry into a satisfying, protein-packed meal without relying on meat alone.

Serve it on its own for a lower-carb option or with rice for a more substantial dinner.


Key Steps to making Mala Dirty Cabbage

1. Toast the Sichuan peppercorns (if using)

  • Start by dry-toasting the Sichuan peppercorns until fragrant.

  • The peppercorns will also start to develop an oily sheen – that’s the numbing oil being released!

  • With the back of your spatula you can crush a few peppercorns. It should crumble effortlessly.

  • This takes less than a minute but wakes up their aroma and makes them much more fragrant.

2. Brown your beef and tofu

  • Add ground beef to the pan, there is no need to add oil!

  • Stir with the sichuan peppercorns and get some proper colour on the ground beef before adding everything else.

  • If a lot of liquid is released, let it cook off first before adding the crumbled tofu.

  • Then add the crumbled tofu and let it cook with the beef.

3. Sautรฉ the aromatics in chilli oil

  • Push the beef and tofu aside.

  • Instead of using neutral oil, add some chilli oil directly to the pot. Scoop in more of the oil, not so much the crisps and chilli flakes.

  • Sautรฉ the onions, garlic, ginger and chillies until fragrant and softened. Giving the aromatics a few minutes in the chilli oil lets their flavour bloom.

4. Add your seasonings

  • Add the remaining chilli oil, soy sauce, sugar and cumin, then toss everything together.

  • At this point your kitchen should smell ridiculous.

  • Since I added mushrooms, I add them in at this stage.

5. Add the broth and cabbage

  • Pour in the chicken stock, and give it a quick stir.
  • Scrape the bottom of the pan with your spatula to deglaze and lift all those flavours into the beef and tofu stir fry.
  • Then pile on the sliced cabbages over the top! It will look like you’re trying to fit an entire cabbage into one pot. That’s fine.

  • Cover and let it steam for a few minutes. Once it starts wilting, toss everything together so the cabbage gets coated in the spicy broth.

  • I also added beansprouts (optional).

7. Finish and Serve!

  • I like to add a small cornstarch slurry at the end to slightly thicken the broth. You can absolutely skip this if you prefer it more brothy.

  • Take the pot off the heat, then stir in sesame oil.

  • Garnish with lots of spring onions, fresh coriander/cilantro and sesame seeds, plus an extra drizzle of chilli oil if I’m feeling particularly masochistic.

How to serve Mala Dirty Cabbage

Honestly, this is substantial enough to eat on its own. You’ve got protein, loads of vegetables and plenty of flavourful broth all in one bowl.

I like to finish it with plenty of spring onion, fresh coriander/cilantro and sesame seeds, plus an extra drizzle of chilli oil if I’m feeling particularly masochistic.

For a bigger meal, this is SO GOOD with steamed rice. The spicy broth is excellent spooned over rice, especially if you let some of the beef, tofu and cabbage pile on top.

You could also serve it alongside other Chinese-style dishes as part of a larger spread.


Tips and Tricks

  • Don’t skip browning the beef.
    Give it time to develop some colour before adding the aromatics. This gives the dish a much deeper savoury flavour.
  • Roughly crumble the tofu.
    I prefer irregular chunks rather than tiny crumbles or perfect cubes. The bigger pieces give you something substantial to bite into.
  • Use your favourite chilli oil.
    This recipe doesn’t require a complicated mala paste. A good chilli oil is enough to make the dish work.
  • No Sichuan peppercorns? No problem.
    You can leave them out. You’ll lose some of the characteristic numbing mala flavour, but you’ll still have a delicious spicy cabbage dish.
  • Adjust the heat.
    The amount of chilli oil and fresh chillies can be adjusted to your taste. If you want an even more intense heat, use bird’s eye chillies! For the more sensitive, you can use the milder fresh chillies or capsicums.
  • Add whatever extra vegetables you have.
    This is a very good fridge-cleanout recipe! Mushrooms and beansprouts are great additions, but they’re completely optional. You can use just cabbages too of course, but I’d always advocate for adding more veggies.
  • Taste at the end.
    Different chilli oils and stocks can vary quite a lot in saltiness and heat, so taste before serving and adjust the soy sauceor chilli oil as needed.

Storing and Reheating

Storage

Let the Mala Dirty Cabbage cool before transferring it to an airtight container.

It will keep in the refrigerator for up to 3 days.

Reheat

To reheat, warm it gently in a saucepan over medium heat until piping hot. Add a splash of water or stock if the broth has thickened too much in the fridge.

You can also microwave it in a covered microwave-safe container, stirring halfway through.

I actually think this reheats particularly well because the cabbage has even more time to soak up the spicy broth. The texture will be softer than when freshly made, but the flavour gets even better.



Mala Dirty Cabbage Recipe (High-Protein & Spicy)

Recipe by Sha
0.0 from 0 votes
Course: 30 Minutes u0026amp; Under, Asian, Beef u0026amp; Lamb, Easy Weeknight, Tofu u0026amp; Tempeh
Servings
+
–

2

servings
Prep time

10

minutes
Cooking time

20

minutes
Cook Mode

Keep the screen of your device on

Ask about this recipe Substitutions, scaling, timing โ€” answered from this recipe.

Ingredients

  • 500 g cabbage, roughly chopped

  • 200 g ground beef

  • 200 g firm tofu, roughly crumbled into chunks

  • 1 tbsp whole Sichuan peppercorns (optional)

  • 2 tbsp chilli oil, divided (adjust to taste)

  • 1 medium onion, thinly sliced

  • 3 cloves garlic, finely minced

  • 1 inch ginger, thinly sliced

  • 2 spring onions, sliced, whites and greens separated

  • 2 chillies (red and/or green), sliced

  • 1 tsp ground cumin

  • 2 tbsp light soy sauce (adjust to taste)

  • 1 tsp sugar

  • 2 cups stock (chicken, beef or vegetable)

  • 100 g mushrooms, sliced (optional)

  • 100 g beansprouts (optional)

  • 1 tbsp cornstarch + 2 tbsp water (for the cornstarch slurry, optional)

  • 1 tsp sesame oil

  • To Garnish
  • Fresh coriander/cilantro

  • Spring onion greens

  • Sesame seeds

  • Extra chilli oil, optional

Directions

  • Toast the Sichuan peppercorns (if using)
  • Heat a large pot or Dutch oven over medium heat.
  • Add the whole Sichuan peppercorns and dry-toast for about 30 seconds, until fragrant. Lightly crush some with the back of your spoon, leaving some whole.
  • Brown the beef and tofu
  • Add the ground beef and cook over medium-high heat, breaking it up as it cooks. There is no need to add oil at this stage.
  • Let the beef cook to brown. If a lot of liquid has released, let it cook off.
  • Add the crumbled tofu and cook for another 1โ€“2 minutes, allowing it to brown slightly and pick up the flavour from the beef.
  • Sautรฉ the Aromatics & Add Seasonings
  • Push the beef and tofu to one side of the pot. Add 1 tablespoon of the chilli oil (try to use mostly the oil, and not the chilli flakes) followed by the onion, garlic, ginger, spring onion whites, and chillies, if using.
  • Stir-fry for 2โ€“3 minutes, until the onion starts to soften and the aromatics are fragrant.
  • Add the remaining chilli oil, light soy sauce ground cumin and sugar. Stir everything together and cook for about 30 seconds, allowing the seasonings to coat the beef, tofu and aromatics.
  • If using mushrooms, add them here and cook together with the aromatics.
  • Pour in stock. Gently stir, scraping the bottom of the pan to deglaze. Bring to a simmer.
  • Steam the cabbage
  • Pile the chopped cabbage on top of the broth. It may look like a lot at first, but don’t worry! If using beansprouts, add them now.
  • Cover and let the cabbage steam for 2โ€“3 minutes, until it starts to wilt.
  • Toss everything together so the cabbage is coated in the spicy broth.
  • Continue simmering uncovered for another 5โ€“7 minutes, until the cabbage is tender but still has some bite. The cabbages will also release plenty of liquid, allow it to cook off to desired consistency.
  • Finish
  • For a slightly thicker, more gravy-like broth, mix the cornstarch with the water to make a slurry. While the broth is simmering, slowly stir in the slurry. Cook for another 30โ€“60 seconds, until the broth has thickened slightly and coats the cabbage, beef and tofu. You can skip this step if you prefer a more brothy consistency.
  • Turn off the heat and stir in sesame oil. Taste and adjust with more soy sauce or chilli oil, as needed.
  • Garnish generously with spring onion greens, fresh coriander/cilantro and sesame seeds. Add an extra drizzle of chilli oil for more heat. Serve hot immediat

Notes

  • Chilli oils and stock vary in sodium levels, so make sure to taste the dish at the end and adjust the soy sauce or add salt as needed.
Instagram

Did you make this recipe?

Tag @nomadetteats on Instagram

Keep Up with Nomadette

Similar Posts

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.