Thai Beef (Meatball) Noodle Soup Recipe
This post contains affiliate links. As an Amazon Associate, I earn from qualifying purchases. Read my full disclosure here.

This Thai Beef Noodle Soup is a fragrant, street‑food‑style broth made with homemade beef meatballs, warm spices, and fresh Asian greens. It’s a quick, budget‑friendly dinner that tastes as if it came straight from a Thai night market.
After making Pad Kra Pao I was hooked on making more Thai recipes that give my (Thai) step-mother a run for her money 😂. She is my go-to Thai cooking guru, but I think I’ve found something she’ll be impressed by!
The recipe is fairly simple and requires your standard Thai spices and ingredients. Because the beef mince is made into meatballs, you can play around with the cooking time to produce medium to well-done balls. And you can go full made-from-scratch mode with your homemade bone broth, OR if you’re short on time, use some store-bought stock/broth.
pin it for later 📌

Why You’ll Love This Recipe
- Budget‑friendly (uses beef mince instead of sliced beef)
- Immune‑supportive ingredients (garlic, pepper, meat stock or broth)
- Freezer‑friendly meatballs (hello meal prep!)
- Choose your heat + toppings
- 30–40 minutes hands‑on time
Ok, let’s… Get into it!!
Cooking Equipment
Thai Beef Noodle Soup Ingredients
Meatballs
5 garlic cloves, peeled, roughly chopped
1 – 2 tbsp coriander seeds
1 tsp whole black peppercorns
1.5 tbsp vegetable oil
500g beef mince
1 egg, room temperature
Broth
3 whole star anise
1 cinnamon stick
¼ cup soy sauce
1 tbsp seasoning sauce (Golden Mountain brand or sub with dark soy sauce or coconut aminos)
6 cups beef stock
Noodles + Toppings
2 cups sliced bok choy (or other Asian greens)
1 red onion, sliced
4 spring/green onions, quartered
250g cooked rice noodles to serve
Garnish (optional):
fresh coriander
bean shoots
fish sauce
Thai basil
Cooking Instructions
Boil 1-2 litres of water for your noodles in a large saucepan or kettle.
In a medium bowl, add mince, egg, salt and pepper (this varies on taste; however, aim for 1/2 tsp of each to start off with). Mix until well combined and shape into small balls. 500g of mince should yield about 20 balls.
Add half the vegetable oil to a large pot on medium-high heat. Allow it to warm up for 1 minute. Add meatballs and brown all over. Remove meatballs from the pot and set aside.
Add coriander seeds, garlic, black peppercorns and salt (to taste) to a mortar and grind into a paste.
Reheat a large pot on medium heat and add the rest of the oil and paste. Cook until fragrant (about 2 minutes).
Turn the heat high and add the cooked beef balls, beef broth, and remaining sauces. Bring to a boil for 5 minutes, then turn to low, add the star anise, and cinnamon stick. Cover with a lid and cook for 1-2 hours. Timing is dependent on how cooked you like your meatballs. At the 1.5-hour mark, the middles are still slightly pink, which I prefer.
Place your dried noodles in a large bowl, enough to cover the tops. When the water has boiled, pour over the top and let sit for 20-25 mins. Strain the water, place the noodles back into the same bowl, and fill with cold water.
10 minutes before your soup is ready, add the sliced red onion, quartered green onions and sliced bok choy/Asian greens.
Serve with a side of bean sprouts, coriander and Thai basil.
Optional: if you require an extra kick of flavour, add a few drops of fish sauce.
Substitutions & Variations
- Swap beef mince for chicken or pork
- Use pak choy, choy sum, or Chinese broccoli
- Gluten‑free swaps (tamari, coconut aminos, rice noodles)
- Add chilli oil or sriracha for heat
Cooking Tips
- Toast coriander seeds for 5 minutes before grinding for a deeper flavour
- Don’t skip browning the meatballs — it adds richness and a crunchy texture
- Add greens at the end to keep them vibrant
Frequently Asked Questions (FAQ’s)
Can I make this without a mortar and pestle?
Yes — you can use a small food processor or even smash the garlic and peppercorns with the side of a knife. The flavour will still be great. The mortar and pestle just gives a slightly deeper, more aromatic result.
Can I use store‑bought meatballs instead of homemade?
You can, but the flavour will be different. Thai beef noodle soup traditionally uses soft, bouncy-style meatballs. If using store‑bought, choose plain beef meatballs and simmer them in the broth for at least 10 minutes so they absorb the aromatics.
What noodles work best for this soup?
Thin rice noodles (pad Thai style) or fresh rice stick noodles work beautifully. If you prefer a heartier bowl, you can use wide rice noodles. Just avoid wheat noodles — they change the flavour profile.
Can I make this soup ahead of time?
Yes. The broth actually tastes even better the next day as the spices develop. Store the broth and noodles separately so the noodles don’t soak up all the liquid.
Does this freeze well?
The broth freezes perfectly for up to 3 months. The meatballs also freeze well. Cooked noodles do not freeze well — add fresh noodles when reheating.
How do I make it spicier?
Add sliced fresh chilli, chilli flakes, or a spoonful of chilli oil to your bowl. You can also simmer dried chillies in the broth for a deeper heat.
What greens can I use?
Any Asian greens work: pak choy, choy sum, gai lan, or even spinach in a pinch. Add them right at the end so they stay bright and tender.
Can I use chicken or pork instead of beef?
Absolutely. Chicken mince or pork mince both work well in the meatballs. The broth flavour will shift slightly but still be delicious.
Is this recipe gluten‑free?
Yes — as long as you use rice noodles and swap soy sauce for tamari. Everything else is naturally gluten‑free.
Can I make this in the slow cooker?
Yes. Make the meatballs separately, then add them to the slow cooker with the broth ingredients. Cook on low for 6 hours. Add noodles and greens just before serving.
Why is my broth cloudy?
Cloudiness usually comes from boiling the meatballs too vigorously. Keep the broth at a gentle simmer for a clearer, cleaner flavour.
How do I stop the noodles from going mushy?
Soak or cook them separately and add them to each bowl just before serving. If they sit in the broth too long, they’ll soften.
Can I make this without fish sauce?
Fish sauce gives the soup its signature flavour, but you can replace it with soy sauce plus a squeeze of lime for a lighter flavour.
I enjoy making this soup on cold days, and if you close your eyes, you can imagine yourself enjoying it in the busy streets of Thailand. It’s my go-to comfort food, and hopefully, it gets you through these cold wintery months too! Enjoy 🙂

Find me on socials 👇🏼
Join the community 🏡
If you love simple, seasonal living, join my weekly email for gardening tips, old skills, and from‑scratch home inspiration.
Related Posts
- Pad Kra Pao {Authentic Pork Mince and Thai/Holy Basil}
- Elderberry Syrup
- Sourdough Bread for Beginners
Thai Beef (Meatball) Noodle Soup
This aromatic soup is perfect on cold days and if you close your eyes, you can imagine yourself enjoying it in the busy streets of Thailand. It’s my go-to comfort food and hopefully, it gets you through these cold wintery months too!
Ingredients
- 5 garlic cloves, peeled, roughly chopped
- 1 – 2 tbsp coriander seeds
- 1 tsp whole black peppercorns
- 1.5 tbsp vegetable oil
- 500g beef mince
- 1 egg, room temperature
- 3 whole star anise
- 1 cinnamon stick
- ¼ cup soy sauce
- 1 tbsp seasoning sauce (Golden Mountain brand or sub with dark soy sauce or coconut aminos)
- 6 cups beef stock
- 2 cups sliced bok choy (or other Asian greens)
- 1 red onion, sliced
- 4 spring/green onions, quartered
- 250g cooked rice noodles to serve
- Garnish (optional): fresh coriander, bean shoots, fish sauce, Thai basil
Instructions
- Boil 1-2 litres of water for your noodles in a large saucepan or kettle.
- In a medium bowl add mince, egg and salt pepper. Mix until well combined and shape into small balls. 500g of mince should yield about 20 balls.
- Add half the vegetable oil to a large pot on medium-high heat. Allow it to warm up for 1 minute. Add meatballs and brown all over. Remove from and set aside.
- Add coriander seeds, garlic, black peppercorns and salt (to taste) to a mortar and grind into a paste.
- Reheat a large pot on medium heat and add the rest of the oil and paste. Cook until fragrant (about 2 minutes).
- Turn the heat high and add the cooked beef balls, beef broth, and soy sauces. Bring to a boil for 5 minutes then turn to low, add the star anise, and cinnamon stick. Cover with a lid and cook for 1-2 hours. Timing is dependent on how cooked you like your meatballs. At the 1.5-hour mark, the middles are still slightly pink, which I prefer.
- Place your dried noodles in a large bowl enough to cover the tops. When the water has boiled, pour over the top and let sit for 20-25 mins. Strain the water, place the noodles back into the same bowl, and fill with cold water.
- 10 minutes before your soup is ready, add the sliced red onion, quartered green onions and sliced bok choy/Asian greens.
- Serve with a side of bean sprouts, coriander ( and Thai basil.
- Optional: if you require an extra kick of flavour, add a few drops of fish sauce.
Nutrition Information:
Yield: 6 Serving Size: 1Amount Per Serving: Calories: 396Total Fat: 20gSaturated Fat: 6gTrans Fat: 1gUnsaturated Fat: 11gCholesterol: 106mgSodium: 2271mgCarbohydrates: 22gFiber: 3gSugar: 5gProtein: 33g