That Spicy Chick

XO Noodle Soup

This XO Noodle Soup is easy to make and EXPLODING with delicious savory and spicy flavors and the BEST textures! Crispy savory ground pork, chewy fish balls and black pepper pork balls, a flavorful XO sauce infused broth, bok choy, crisp spring onion and slippery rice vermicelli noodles come together to make this hearty and filling noodle soup bowl!

Spicy, savory, and EXPLODING with umami, this XO Noodle Soup is easy to make on any given weeknight and incredibly flavorful!

We have:

  • A spicy and savory broth starring XO sauce, the King of Cantonese condiments!
  • Crispy and perfectly seasoned ground pork.
  • Wonderfully chewy and bouncy fish balls and black pepper pork balls.
  • Silky and slippery rice vermicelli noodles (or you can use any other noodles you like!).
  • Leafy bok choy, snow peas and spring onion for some greenery and garnish!

This is one of those easy noodle soup meals you make when you’re not in the mood to do much active cooking and but still want something delicious. The broth doesn’t take hours to simmer because we’re starting with store-bought broth and jazzing it up with fragrant aromatics, a few seasonings, and XO sauce – which is an UMAMI BOMB and adds tremendous depth of flavor to the broth!

Spoon and chopsticks tucked into bowl with soup noodles.

Why This Recipe Works

  • Easy and fairly quick to make. There’s minimal active cooking time involved and it’s ready in about 45 minutes
  • Flavor-packed broth! XO sauce infuses the broth with umami loaded savory and spicy notes without needing to simmer it for hours.
  • Perfect pork texture. Marinating the ground pork with seasonings and corn starch allows it to develop a golden brown crust and crispy texture.
  • Customizable. You can use any type of ground meat, Asian style seafood or meatballs, and noodles of your choice.
  • Great for winter or summer days. It’s perfect for warming you up on a chilly or rainy day, but also great in the summer when you want to sweat to cool down!

Ingredient Notes and Substitutes

Labeled ingredients for XO Noodle Soup on a wooden board.
  • Pork: I used ground pork and marinated it with white pepper, corn starch, low sodium light soy sauce and a small splash of sesame oil. It’s best to use lean ground pork so that it doesn’t all dissolve into fat and you end up with a significantly smaller quantity! Feel free to use lean ground beef, turkey, or chicken if you prefer.
  • Garlic, Chilies and Ginger. We’ll be smashing the garlic and chilies into a coarse paste using a mortar and pestle. I used fresh Thai Bird’s Eye chilies to spice up the broth, but feel free to use any other type of small hot chilies that are easily available to you. Adjust the quantity to taste based on your heat level preference.
  • Asian Red Shallots: If unavailable, you can substitute with about a third of a thinly sliced red onion or use 2-3 French eschalots.
  • Pork Bone Broth: Or you can use chicken broth. You’ll need to add more kosher salt to taste if using a low sodium broth.
  • XO Sauce (spicy or regular): The star ingredient of our spicy broth which is full of umami and savory and spicy flavors! XO sauce is made with chili peppers, shallots, garlic, dried seafood (dried shrimp and scallop and occasionally abalone), and Jinhua pork (Chinese ham). While many brands produce this sauce, Lee Kum Kee’s XO sauce is the one that’s most widely available. I use their extra hot XO sauce in my home, but they also have a regular XO sauce which is milder. Look for a jar in an Asian supermarket or order one online. You’re welcome to use a homemade XO sauce if you like.
  • Seasonings (Sauces): Low sodium light soy sauce for savory umami notes, dark soy sauce for color, and Shao Xing rice wine for a fragrant floral aroma. Shao Xing rice wine is available at Asian and Chinese supermarkets. Substitute with dry sherry if unavailable. 
  • Seasoning (Spices): We’ll need ground white pepper and black pepper to give the broth a peppery kick and kosher salt
  • Flavoring Oils: Sesame oil to add a toasted sesame aroma and pure chili oil (without any flakes or seeds) for more heat. Leave out the chili oil if you’d like to make this milder.
  • Fish Balls and Black Pepper Pork Balls: Both have a chewy and bouncy texture. Look for them in packages in the fridge or freezer section an Asian/Chinese supermarket. If using frozen, there is no need to thaw them and you just need to simmer for slightly longer in the broth. They are cooked once they float to the top and are tender. You can use regular (non-fried) or fried fish balls. Feel free to use any other type of pre-cooked packaged Asian seafood or meatballs that you like. 
Rinsed fresh fish balls and black pepper pork balls in a fine mesh strainer.
Fish Balls & Black Pepper Pork Balls
  • Canola Oil: Or use any other neutral flavored cooking oil.
  • Rice Vermicelli Noodles: I used vacuum sealed packs of pre-cooked rice vermicelli noodles. Feel free to swap for udon, ramen, or any other type of noodles you like. You can use dried or fresh noodles.
  • Veggie toppings: I used bok choy, snow peas, and the dark green parts of a spring onion (scallion/green onion) for garnish. Feel free to use any other Asian greens like choy sum, Chinese broccoli (‘gai lan’), etc. The snow peas are optional and you can leave them out if you wish. 

Full ingredient list and amounts are in the recipe card below.

Assembled XO noodle soup bowl and broth in Dutch oven behind.

How to Make XO Noodle Soup

Make the Crispy Pork

1. Cook the marinated pork. In a bit of oil in a medium-sized skillet. Sear for a few seconds, then break up the clumps with your spatula. Cook until golden brown and cooked through. Drain off any excess fat/grease that is released and set aside. 

Crispy ground pork in a skillet.

Make the Spicy XO Broth

2. Sauté the aromatics. In a large Dutch oven or stockpot, heat oil and sauté the shallots and spring onion white and light green parts. Sauté for a minute until slightly softened. Then add the smashed garlic-chilies paste and ginger and sauté for until fragrant.

3. Add the XO sauce. Stir briefly to combine. 

4. Build the broth. Stir in the pork bone broth, water and all of the sauces and seasonings. Bring to a boil, then lower the heat and simmer for a few minutes. 

5. Add the fish balls and black pepper pork balls. Simmer for a few minutes until they are tender. Stir in sesame oil and pure chili oil and switch off the heat.

Process steps to make XO broth in a Dutch oven.

Assemble the XO Noodle Soup Bowls

6. Cook the noodles, Asian greens and snow peas. Cook the noodles in a separate pot of boiling water as per package instructions. During the last 30 seconds of cooking, add the Asian greens and snow peas and blanch briefly. Drain and divide everything evenly into bowls. 

Cooking noodles and blanching bok choy and snow peas in a pot.

Serve! Ladle the XO broth, fish balls, and black pepper pork balls evenly over the noodle bowls. Spoon the crispy pork on top. Garnish with the reserved spring onion dark green parts and sliced chili. Then serve immediately and enjoy!

Spoon with fish ball and broth in bowl with XO noodle soup and blanched veggies.
Closeup of fish ball on a spoon in a bowl with soup noodles.

Full detailed instructions are in the recipe card below.

Cook’s Tips

  • Use half the amount if using dried noodles. Most dried noodles will be approximately double in weight once cooked.
  • Don’t use too much chili oil from the XO sauce jar. Use more of the solids and leave as much oil as possible behind in the jar to avoid having an excessively greasy broth.
  • Adjust spice level to taste. Use less fresh red chilies and a regular XO sauce instead of an extra spicy one to make the broth milder. Omit the pure chili oil added at the end of simmering the broth.
  • Strain the broth. If you prefer a cleaner broth without any chunky bits, you can strain it and discard the solids right before you add the fish balls and black pepper pork balls.
Spoon and chopsticks in bowl with spicy noodle soup.

FAQs

Where can I buy XO sauce?

Look for XO sauce in your local Asian supermarket. The most widely available brand of XO sauce outside of Hong Kong is Lee Kum Kee. They have a regular and extra hot version. You could also purchase it online.

Does XO sauce go bad?

If sealed properly and stored in the fridge, the XO sauce jar will last until its expiry date. 

Does XO sauce have pork?

XO sauce contains pork in the form of Jinhua (Chinese) ham.

How to store leftovers?

Store the crispy pork and XO broth in separate airtight sealed airtight containers for 2-3 days. When ready to serve, cook the noodles, blanch the veggies, and assemble the noodle bowls. Do not refrigerate assembled noodle bowls as the noodles will absorb the broth and bloat over time in the fridge.

Chopsticks and spoon in bowl with noodle soup and top view of bowl. Text overlay "XO Noodle Soup with Crispy Pork and Fish Balls" and "thatspicychick.com".

More Noodle Soups

More Recipes with XO Sauce


MADE THIS RECIPE? If you make this recipe, leave a comment and review it below with a STAR rating! I always appreciate your feedback. Take a photo and be sure to tag it with @thatspicychick on Instagram and hashtag it #thatspicychick and I’ll be sure to share.

STAY CONNECTED! You can also follow me on PinterestFacebook or InstagramSign up for my email list to get my latest recipe in your inbox weekly!

Print
Closeup of bowl with XO noodle soup.

XO Noodle Soup

Crispy savory ground pork, chewy fish balls and black pepper pork balls, a flavorful XO sauce infused broth, bok choy, crisp spring onion and slippery rice vermicelli noodles come together to make this hearty XO Noodle Soup bowls!

  • Author: Lavina
  • Prep Time: 15
  • Cook Time: 30
  • Total Time: 45 minutes
  • Yield: 3 1x
  • Category: Dinner
  • Method: Simmer
  • Cuisine: Chinese
Scale

Ingredients

For the Crispy Pork:

  • 200 grams / 7 ounces lean Ground Pork (note 1)
  • ¼ TSP ground White Pepper
  • 1 TSP Corn Starch
  • 2 TSP Low Sodium Light Soy Sauce
  • ¼ TSP Sesame Oil

For the XO Broth:

  • 6 Garlic cloves – peeled and roughly chopped
  • 416 fresh Red Chilies (Thai Bird’s Eye or any other small hot red chilies), to taste – destemmed and roughly chopped
  • 1.5 TBLS minced Ginger
  • 45 small Asian Red Shallots – peeled, halved, thinly sliced
  • 1 Spring Onion – finely chopped, white and light green parts separated from dark green parts
  • 170 grams / 6 ounces (1 pack) fresh Fish Balls (regular or fried – note 2)
  • 170 grams / 6 ounces (1 pack) fresh Black Pepper Pork Balls (or use 1 more pack of fish balls)
  • 2.5 TBLS Canola Oil (or any other neutral flavored cooking oil)
  • 4 TBLS / ¼ cup XO Sauce (spicy or regular – note 3)
  • 1 liter / 1000ml Pork Bone Broth (or Chicken Broth)
  • 2 cups / 474ml Water
  • 2 TBLS Low Sodium Light Soy Sauce
  • 2 TBLS Shao Xing Rice Wine
  • 1 TSP Dark Soy Sauce
  • ¼ TSP ground White Pepper, to taste
  • ½ TSP Kosher Salt, to taste
  • ½ TSP freshly cracked Black Pepper (or use black pepper powder), to taste
  • 1 TSP Sesame Oil
  • 1 TSP Pure Chili Oil (optional – without flakes/seeds)

To Serve:

  • 14 ounces / 400 grams Rice Vermicelli Noodles (or udon, ramen, etc. I used vacuum sealed packs – note 4)
  • 6 pieces Asian Greens (bok choy, choy sum, or Chinese broccoli)
  • 50 grams / 1.75 ounces Snow Peas (optional)
  • Reserved Spring Onion dark green parts
  • 1 Large Red Chili – deseeded if desired, thinly sliced at an angle

Instructions

Prep:

  1. Marinate the ground pork: Combine the ground pork, ground white pepper, low sodium light soy sauce, corn starch, and sesame oil in a medium bowl. Mix well to combine, set aside.
  2. Prepare the fresh ingredients: Roughly chop the garlic and fresh red chilies. Using a mortar and pestle, pound into a course paste. Mince the ginger, slice the shallots, and chop the spring onion (separate the white and light green parts from the dark green parts). Rinse the fish balls and black pepper pork balls in a fine mesh strainer and set aside.

For the XO Broth:

  1. Cook the pork: Heat ½ tablespoon of canola oil in a medium-sized skillet over medium-high heat. Once hot, add the ground pork and allow to sear for 20-30 seconds until the bottom turns golden brown and crispy. Then stir-fry for 2 minutes, breaking the clumps with your spatula until cooked. Drain off any excess grease and oil from the pan and set aside.
  2. Sauté the aromatics: Heat the remaining 2 tablespoons of oil in a large Dutch oven or stockpot over medium-high heat. Once hot, add the shallots and spring onion white and light green parts. Sauté for a minute until slightly softened. Add the smashed garlic-chilies paste and ginger and sauté for 30 seconds until fragrant.
  3. Build the broth: Add the XO sauce and stir briefly to combine. Then pour in the pork bone broth and water and season with low sodium light soy sauce, Shao Xing rice wine, dark soy sauce, white pepper, kosher salt, and black pepper. Stir to combine and bring to a boil. Reduce the heat to low and simmer uncovered for 10 minutes. (Note: At this point you can strain the broth and discard the solids if you prefer it not to have any chunky bits.) Add the fish balls and black pepper pork balls and simmer for 5-6 minutes. Stir in the sesame oil and pure chili oil (if using), then switch off the heat.

To Assemble Noodle Bowls:

  1. Assemble the noodle bowls: While the broth is simmering, cook the rice vermicelli noodles according to package instructions in a separate pot of boiling water. During the last 30 seconds of cooking, add the Asian greens and snow peas (if using) and blanch briefly. Drain into a fine mesh strainer. Transfer the snow peas to an ice water bath. Drain immediately and pat-dry with paper towels. Divide the noodles, Asian greens, and snow peas evenly into bowls.
  2. To Serve: Ladle the XO broth, fish balls, and black pepper pork balls evenly into the noodle bowls. Spoon the crispy ground pork on top. Garnish with the reserved spring onion dark green parts and sliced chili. Serve immediately.

Notes

  1. Pork: I used ground pork and marinated it with white pepper, corn starch, low sodium light soy sauce and a small splash of sesame oil. It’s best to use lean ground pork so that it doesn’t all dissolve into fat. Feel free to use lean minced beef, turkey, or chicken if you prefer.
  2. Fish balls and black pepper pork balls: Look for these in the fridge or freezer section an Asian/Chinese supermarket. If using fresh, simmer for 5-6 minutes as per recipe. If using frozen, they don’t need to be thawed before adding to the broth. Check the package for simmering time required as it may vary depending on size. It shouldn’t be longer than 10-15 minutes. They are cooked once they float to the top and are tender. You can use regular (non-fried) or fried fish balls. Feel free to use any other type of pre-cooked packaged Asian seafood or meatballs that you like.
  3. XO Sauce. This jarred condiment is made with chili peppers, shallots, garlic, dried seafood (dried shrimp and scallop and occasionally abalone), and Jinhua pork (Chinese ham). While many brands produce this sauce, Lee Kum Kee’s XO sauce is the one that’s most widely available. I use their extra hot XO sauce in my home, but they also have a regular XO sauce which is milder. Look it in an Asian supermarket or order a jar online. You can use a homemade XO sauce if you like. Use more of the solids and leave as much oil as possible behind in the jar to avoid having an excessively greasy broth.
  4. Rice Vermicelli Noodles. I used 2 x 200 grams/7 ounce vacuum sealed packs of pre-cooked rice vermicelli noodles which need to be briefly boiled until the strands loosen from the cake form they come in. Feel free to swap for udon, ramen, or any other type of noodles you like. You can use dried or fresh noodles. Use half the amount if using dried noodles. Most dried noodles will be approximately double in weight once cooked.
  5. Storage: Store the crispy pork and XO broth in separate airtight sealed airtight containers for 2-3 days. When ready to serve, cook the noodles, blanch the veggies, and assemble the noodle bowls. Do not refrigerate assembled noodle bowls as the noodles will absorb the broth and bloat over time in the fridge.

Nutrition

  • Serving Size: 1 bowl
  • Calories: 831
  • Sugar: 12.4g
  • Sodium: 3844mg
  • Fat: 47.9g
  • Saturated Fat: 8.6g
  • Unsaturated Fat: 19.7g
  • Trans Fat: 0.1g
  • Carbohydrates: 61.5g
  • Fiber: 4.4g
  • Protein: 37.4g
  • Cholesterol: 55.3mg

The nutritional information provided is approximate and can vary based on several factors. It should only be used as a general guideline. For more information, please see our Disclosure.

This post may contain affiliate links. We are a part of the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for us to earn a small commission (at no extra cost to you) by linking to Amazon.com and affiliated sites. The nutritional information provided is approximate and can vary based on several factors. It should only be used as a general guideline. For more information, please see our Disclosure.

Leave a Reply

Your email address will not be published.

Recipe rating

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