Satay is one of Malaysia’s most recognizable street foods. Skewered meat grilled over charcoal, dipped in a thick peanut sauce. This recipe turns that classic into bite-sized meatballs threaded on skewers, giving you the same smoky, nutty flavor without threading thin strips of meat by hand.
The meatball mixture gets its satay character from lemongrass, galangal, turmeric, and coriander, the same aromatics you find in traditional satay marinades. Grilling the skewered meatballs over high heat creates the charred edges that make satay taste like satay, while the peanut sauce ties it all together with sweet, salty, and nutty flavor.
Key Takeaways
- Lemongrass and galangal are the flavor anchors. These two aromatics, combined with turmeric and coriander, give the meatballs their distinctive satay character. Do not skip them.
- Soak wooden skewers for 30 minutes. Unsoaked skewers burn on the grill and can break apart mid-cook.
How to Make Malaysian Satay Meatballs
- Make the meatball mixture. In a large bowl, combine ground beef, panko breadcrumbs, beaten egg, scallions, cilantro, minced lemongrass, grated galangal, turmeric, coriander, cumin, salt, and pepper. Mix with your hands for 2 minutes until evenly combined. The mixture should feel slightly sticky.
- Shape and skewer. Roll the mixture into 20 meatballs, about 1.5 inches across. Thread 4 to 5 meatballs onto each soaked wooden skewer, leaving a small gap between each meatball so heat circulates evenly.
- Grill. Heat a grill or grill pan to medium-high heat. Brush the grates with oil. Grill the satay skewers for 8 to 10 minutes, turning every 2 to 3 minutes, until charred on all sides and cooked through (internal temperature of 160°F / 71°C).
- Start the peanut sauce. While the meatballs grill, heat 1 tbsp oil in a small saucepan over medium heat. Add minced garlic and chili flakes. Cook for 30 seconds until fragrant.
- Build the sauce. Stir in peanut butter, soy sauce, brown sugar, tamarind water, and coconut milk. Whisk until smooth. Simmer for 3 to 4 minutes, stirring often, until the sauce thickens. Add warm water a tablespoon at a time if the sauce is too thick to drizzle.
- Serve. Transfer the grilled satay meatballs to a plate. Pour the peanut sauce into a dipping bowl. Garnish with crushed roasted peanuts and lime wedges. Serve alongside sliced cucumber, red onion, and rice cakes.
Ingredients
For the Meatballs
- 1 lb (450 g) ground beef, 80/20
- 1/3 cup panko breadcrumbs
- 1 large egg, lightly beaten
- 2 tbsp finely chopped scallions
- 1 tbsp finely chopped fresh cilantro
- 2 stalks lemongrass, bottom 4 inches only, tough outer layers removed, finely minced
- 1 inch fresh galangal or ginger, grated
- 1 tsp ground turmeric
- 1 tsp ground coriander
- 1/2 tsp ground cumin
- 1/2 tsp kosher salt
- 1/4 tsp black pepper
- Wooden skewers, soaked in water for 30 minutes
- Vegetable oil for brushing
For the Peanut Satay Sauce
- 1/2 cup creamy peanut butter
- 3 tbsp soy sauce
- 2 tbsp brown sugar
- 1 tbsp tamarind paste dissolved in 2 tbsp warm water
- 1 tbsp vegetable oil
- 1 clove garlic, minced
- 1/2 tsp chili flakes or 1 fresh red chili, finely chopped
- 1/2 cup coconut milk
- 2 to 3 tbsp warm water, as needed
For Serving
- Sliced cucumber
- Sliced red onion
- Rice cakes (ketupat) or steamed rice
- Crushed roasted peanuts
- Lime wedges
Tips
Use fresh lemongrass, not paste. The bottom 4 inches of a lemongrass stalk is the tender, aromatic part. Remove the tough outer layers, then slice and mince it finely. Paste or dried lemongrass does not deliver the same bright, citrusy punch that defines satay flavor.
Grated galangal vs ginger. Galangal has a sharper, more piney flavor than ginger. If you cannot find it, ginger works as a substitute but the result will taste slightly different. Both are acceptable for home cooking.
Grill over medium-high, not high. Satay needs char but not a raging inferno. Medium-high gives you enough heat to create grill marks and a smoky flavor without burning the outside before the inside cooks through.
Use creamy peanut butter. Crunchy peanut butter adds texture but does not blend as smoothly. Use creamy for a smooth sauce, then top with crushed roasted peanuts for crunch.
Tamarind paste is worth finding. It gives the sauce a tangy backbone that balances the sweetness of the brown sugar. If you cannot find tamarind paste, substitute 1 tbsp lime juice, though the flavor will be less complex.
Variations
Chicken satay meatballs. Swap ground beef for ground chicken. Chicken is leaner, so add 1 tbsp of oil to the mixture to keep the meatballs moist on the grill. Reduce grill time to 6 to 8 minutes.
Grilled indoors. Use a grill pan on the stovetop if you do not have an outdoor grill. Heat the pan over medium-high for 3 to 4 minutes before adding the skewers. The char will be slightly less smoky but the result is still good.
Peanut-free sauce. Replace the peanut butter with sunflower seed butter or tahini for a nut-free version. The texture and flavor change, but the sweet-savory-tangy balance stays similar.
Baked instead of grilled. Preheat oven to 400°F (200°C). Place skewers on a wire rack set over a baking sheet. Bake for 15 to 18 minutes, turning once, until cooked through. Broil for the last 2 minutes for char.
Storage
Leftover satay meatballs keep in the refrigerator for up to 4 days. Store the meatballs and peanut sauce separately in airtight containers. Reheat the meatballs on a grill, grill pan, or in a 350°F oven for 5 to 7 minutes. Warm the sauce in a small saucepan over low heat, adding a splash of water if it has thickened.
The meatballs freeze well for up to 3 months without the sauce. Thaw overnight in the refrigerator before reheating.
Frequently Asked Questions
What is the difference between satay and kebab? Satay is a Southeast Asian dish, originally from Indonesia and widely popular in Malaysia, Thailand, and Singapore. It uses a turmeric-based marinade and is always served with peanut sauce. Kebab is a broader Middle Eastern and Mediterranean term for grilled meat, which can use many different spice blends and is not always paired with peanut sauce.
Can I use ground lamb for satay meatballs? Yes. Ground lamb gives a richer, more aromatic flavor that pairs well with the lemongrass and turmeric. Lamb has more fat than beef, so the meatballs will be juicier on the grill but may produce more flare-ups. Keep a spray bottle of water nearby.
What are ketupat? Ketupat are compressed rice cakes wrapped in woven palm leaves, traditionally served with satay in Malaysia and Indonesia. They have a dense, slightly chewy texture that soaks up peanut sauce well. If you cannot find ketupat, steamed jasmine rice or even cubed bread work as alternatives.
Is this recipe spicy? The meatball mixture itself is mild. The heat comes from the chili flakes in the peanut sauce, which you can adjust up or down. For a kid-friendly version, skip the chili entirely. For more heat, add a sliced fresh red chili or a spoonful of sambal oelek to the sauce.
Can I make the peanut sauce ahead? Yes. The sauce keeps in the refrigerator for up to 5 days. It thickens as it cools, so reheat it gently with a splash of water or coconut milk to loosen it back to a drizzling consistency.
How do I know when the meatballs are done? Use an instant-read thermometer. Satay meatballs should reach an internal temperature of 160°F (71°C). If you do not have a thermometer, cut one open - the center should be no longer pink and the juices should run clear.
Sources
- Malaysia Kitchen - Satay Guide
- Serious Eats - What Is Satay
- The Spruce Eats - Malaysian Satay Recipe
- BBC Good Food - How to Make Satay Sauce
