Thai cuisine is a vibrant and exciting blend of flavors, and these meatballs with peanut satay dipping sauce capture the essence of a delicious and unique Southeast Asian culinary tradition.
When I first tried making Thai meatballs at home, I was skeptical they’d come close to the ones from my favorite Thai spot downtown. But this recipe? It’s become my go-to for everything from Friday night dinners to impressing guests.
The magic of Thai cooking lies in how it balances sweet, sour, spicy, and savory in every bite. These meatballs hit all those notes with fresh ginger, fiery bird’s eye chilies, and handfuls of fragrant Thai basil and mint.
I’ve switched to grass-fed beef for these, though ground turkey or chicken works beautifully too if you’re watching your red meat intake. The best part? They cook under the broiler in minutes, which means less time cooking and more time eating. No babysitting a frying pan required. When done, you just put them on some bamboo skewers and you have yourself a lovely presentation.
But let’s talk about this peanut sauce – it’s honestly good enough to eat with a spoon (I’ve been caught doing exactly that). Three main ingredients – peanut butter, coconut milk, and lime juice – transform into something that’s simultaneously rich and bright. The lime cuts through the creaminess, giving the sauce that signature Thai twang.
Serve these as party bites on skewers and watch them disappear within minutes, or pile them on top of jasmine rice or rice noodles for a proper meal. Either way, they’re a delicious first step into Thai cooking that doesn’t require a cabinet full of special ingredients or hours in the kitchen.
Thai Favorite: How to Make Pad-See-EwStep by Step Guide to Making Thai Meatball Skewers with Peanut Satay Sauce
Step 1: Prepare the Peanut Satay Sauce
In a large bowl, combine creamy peanut butter with coconut milk.
Stir vigorously until a smooth, creamy consistency is achieved. Initially, the mixture may appear lumpy, but continuous stirring will smooth it out.
Add freshly squeezed lime juice and sea salt to taste. Set aside.
Step 2: Prepare Meatball Mixture
In a large mixing bowl, add ground beef, grated ginger, minced pepper, finely diced scallions, lime zest, finely chopped basil and mint, coconut milk, honey or sugar (optional), and sea salt.
Mix gently by hand until just combined—avoid overmixing to maintain tenderness.
Step 3: Shape Meatballs
Preheat the broiler on high.
Line a large baking pan with aluminum foil and lightly coat with cooking spray or neutral oil.
Lightly oil your hands to prevent sticking.
Form meat mixture into round balls about the size of large marbles or walnuts. Arrange on the prepared baking sheet.
Step 4: Cook Meatballs
Place meatballs under the broiler and cook for approximately 8-10 minutes, turning halfway through cooking to ensure even browning.
Meatballs should be cooked through yet juicy. Internal temperature should reach 160°F (71°C).
Step 5: Serve
Put meatballs on bamboo skewers, 4-5 on each
Serve meatballs warm, with peanut satay sauce on the side.
Garnish with fresh Thai basil, chopped cilantro and lime wedges.
Pair with steamed rice and chopped salad for a complete meal.
Thai Meatballs FAQ:
Can I bake instead of broil the meatballs?
Yes, bake at 400°F (200°C) for about 15-20 minutes.
How long does the peanut sauce last?
It can be refrigerated in an airtight container for up to one week.
Can I freeze the meatballs?
Absolutely! Freeze cooked meatballs in an airtight container for up to 3 months.
What can I substitute for coconut milk?
Regular dairy milk or almond milk works, though the flavor profile will slightly differ.
Is this dish spicy?
You can control the spice level by adjusting the amount of chili pepper.
Thai Meatballs with Peanut Satay Dipping Sauce
- Total Time: 30 minutes
- Yield: Serves 4
- Diet: Gluten-Free, Omnivore
Description
Serve these flavorful meatballs as party bites or over rice for a satisfying meal. The peanut satay sauce is simply irresistible!
Ingredients
- 1 lbs (454 g) ground beef
- 1 inch piece fresh ginger
- 1 small Thai bird’s eye pepper or jalapeño
- 4 scallions
- 1/2 lime zest
- 1/4 cup (60 ml) fresh Thai basil and mint
- 3 tbsp coconut milk
- Tiny drizzle of honey or pinch of sugar
- Sea salt
- Neutral oil or coconut oil
- 1/2 cup (118 ml) creamy peanut butter
- 1 cup (237 ml) coconut milk
- 1 lime juice
- Fresh Thai basil
- Chopped cilantro
- Lime wedges
- Steamed rice
- Bamboo skewers
Instructions
- Prepare the Peanut Satay Sauce
- In a large bowl, combine creamy peanut butter with coconut milk. Stir vigorously until a smooth, creamy consistency is achieved.
- Add freshly squeezed lime juice and sea salt to taste. Set aside.
- Prepare Meatball Mixture
- In a large mixing bowl, add ground beef, grated ginger, minced pepper, finely diced scallions, lime zest, finely chopped basil and mint, coconut milk, honey or sugar (optional), and sea salt.
- Mix gently by hand until just combined—avoid overmixing to maintain tenderness.
- Shape Meatballs
- Preheat the broiler on high.
- Line a large baking pan with aluminum foil and lightly coat with cooking spray or neutral oil.
- Lightly oil your hands to prevent sticking.
- Form meat mixture into round balls about the size of large marbles or walnuts. Arrange on the prepared baking sheet.
- Cook Meatballs
- Place meatballs under the broiler and cook for approximately 8-10 minutes, turning halfway through cooking to ensure even browning.
- Meatballs should be cooked through yet juicy. Internal temperature should reach 160°F (71°C).
- Serve
- Put meatballs on bamboo skewers, 4-5 on each.
- Serve meatballs warm, with peanut satay sauce on the side.
- Garnish with fresh Thai basil, chopped cilantro and lime wedges.
Notes
- For a spicier kick, add a second Thai bird’s eye chili or use a serrano pepper.
- To make ahead, prepare the meatballs and sauce separately and store them in the refrigerator for up to 2 days. Reheat before serving.
- If you don’t have fresh herbs, you can substitute 1 teaspoon of dried basil and 1 teaspoon of dried mint for the fresh herbs.
- Prep Time: 20 minutes
- Cook Time: 10 minutes
- Category: Main Course
- Method: Broiling
- Cuisine: Thai
Nutrition
- Serving Size: 5-6 meatballs
- Calories: 250
- Sugar: 5
- Sodium: 400
- Fat: 18
- Saturated Fat: 10
- Unsaturated Fat: 6
- Carbohydrates: 10
- Fiber: 2
- Protein: 20
- Cholesterol: 80
If you liked this, you are going to love these favorite Thai recipes:
Thai Favorite: How to Make Pad-See-Ew
Frequently Asked Questions
Can I use ground turkey instead of grass-fed beef for the meatballs?
Yes, ground turkey works beautifully in this recipe and will still provide great flavor.
What can I substitute if I can’t find bird’s eye chilies?
If bird’s eye chilies are unavailable, you can use red pepper flakes or a milder chili like jalapeño for a different heat level.
How do I make the peanut satay sauce less thick?
To thin out the peanut satay sauce, simply add a bit more coconut milk until you reach your desired consistency.

YAAS! I piled these over rice noodles with extra sauce on the side and dinner was done in 20. Honestly ate half the leftover sauce straight from the bowl the next day lol.
Love this recipe, great flavors and always turns out delicious!
I spend a ton of time in Thailand and this tastes very authentic. I would probably put MORE chili in next time, but I am also a massive spice-lover.
Used turkey instead of beef, fantastic results. Really authentic taste, will most definitely repeat soon.
So tasty, lovely kick, fresh!
I forgot to turn them! Dang it, burned one side. But I still ate them and they were still delicious.