Pinoy Meatballs Recipe: Tender, Saucy Filipino-Style

Updated November 3, 2026

Total time
50 min
prep 25 min · cook 25 min
Serves
4
portions as written
Safe temperature (USDA)
160°F / 71°C
check the thickest piece

Jump to recipe

Pinoy Meatballs Recipe: Tender, Saucy Filipino-Style

These Filipino-style meatballs, inspired by bola-bola, combine seasoned ground pork with a sweet-savory tomato sauce. They’re browned in the oven, then briefly simmered in a sauce made with banana ketchup, soy sauce, and a little vinegar; family and regional versions vary, and this is a practical saucy variation.

Ingredients

  • 1 lb (454 g) ground pork
  • ½ cup (30 g) plain breadcrumbs
  • 1 large egg (about 50 g without the shell)
  • ¼ cup (35 g) finely minced yellow onion
  • 2 garlic cloves (about 6 g), finely minced
  • 1 tablespoon (15 ml) soy sauce
  • ½ teaspoon (2.5 ml) fish sauce, optional
  • ½ teaspoon (2 g) fine salt
  • ¼ teaspoon (0.5 g) ground black pepper
  • 1 tablespoon (15 ml) neutral cooking oil, for the pan
  • 1 tablespoon (15 ml) neutral cooking oil, for the sauce
  • 1 cup (240 ml) plain tomato sauce
  • ½ cup (120 ml) banana ketchup
  • 1 tablespoon (15 ml) soy sauce
  • 1 tablespoon (15 ml) cane vinegar or rice vinegar
  • 1 teaspoon (4 g) brown sugar, plus more to taste
  • ¼ cup (60 ml) water

Instructions

  1. Heat the oven and prepare a pan. Set a rack in the center of the oven and heat it to 400°F (204°C). Line a rimmed baking sheet with foil or parchment, then lightly coat it with the first tablespoon of oil. Starting the oven while you prepare the mixture lets it preheat without adding a separate wait.
  2. Mix the meatball ingredients. In a large bowl, combine the ground pork, breadcrumbs, egg, onion, garlic, 1 tablespoon soy sauce, fish sauce if using, salt, and pepper. Mix gently with clean hands or a fork just until the ingredients are evenly distributed. Stop as soon as there are no obvious streaks of egg or dry breadcrumbs; compacting the mixture can make the cooked meatballs dense.
  3. Shape the meatballs. Lightly oil your hands and roll the mixture into about 20 balls, each roughly 1½ inches (4 cm) across. Arrange them on the prepared pan with a little space between each one so hot air can circulate. Aim for similar sizes: smaller or larger balls will cook at different rates, so don’t rely on color alone to tell when they are done.
  4. Bake until safely cooked. Bake for 18–22 minutes, turning the meatballs once if you want more even browning. Check the center of a few of the largest meatballs with an instant-read food thermometer; ground pork must reach the USDA FSIS safe minimum internal temperature of 160°F (71°C). If a meatball has not reached that temperature, return the pan to the oven and check again after a few minutes.
  5. Make the sauce while the meatballs bake. Heat the second tablespoon of oil in a medium saucepan over medium heat. Add the tomato sauce, banana ketchup, the remaining tablespoon of soy sauce, vinegar, brown sugar, and water. Stir to combine, bring the sauce to a gentle simmer, and cook for 10–12 minutes, stirring occasionally. Lower the heat if it bubbles vigorously or begins to spatter.
  6. Finish together. When the meatballs have reached 160°F (71°C), transfer them to the sauce, including any juices from the pan. Turn them gently to coat and simmer for 2–3 minutes so the sauce clings to the outside. Taste the sauce and adjust with a little more sugar for sweetness, vinegar for tang, or water if it has become too thick.
  7. Serve hot. Spoon the meatballs and sauce over rice, noodles, or another accompaniment while warm. If you are holding the meal before serving, keep the meatballs hot rather than leaving them at room temperature.

Tips

  • Keep the mixture tender. Mix only until combined and use a light touch when rolling. If the mixture is sticky, dampen your hands with water rather than adding a lot of extra breadcrumbs; too many crumbs can make the meatballs dry and firm. For more evenly shaped pieces, use a tablespoon measure or a small scoop, then roll each portion gently.
  • Choose the right ketchup substitute. Banana ketchup has a sweet, tangy flavor and a thicker texture than plain tomato ketchup. If it is unavailable, use the same amount of regular ketchup and reduce the brown sugar at first; taste the simmered sauce before adding more. The result will be a little less distinctly Filipino in flavor, but still makes a balanced tomato-based sauce.
  • Adjust the sauce gradually. Different brands of banana ketchup, tomato sauce, and soy sauce vary in sweetness and saltiness. Simmer the sauce before deciding whether it needs an adjustment. Add water a tablespoon at a time if it is too concentrated, or let it simmer a few minutes longer if it seems thin.
  • Don’t crowd the baking sheet. Leave space between the meatballs so they brown rather than steam. If your pan is small, use two pans or bake in batches. A little browning adds flavor, but the thermometer reading—not the outside color—is what confirms that ground pork is safely cooked.

Serving Suggestions

Serve the meatballs with steamed white rice, which soaks up the sweet-savory sauce and makes a simple, filling plate. Garlic rice is another good choice, especially if you want a more aromatic side. For a noodle meal, spoon the meatballs over cooked spaghetti or egg noodles and add extra sauce; the tomato and banana-ketchup mixture works well as a glossy coating rather than a thin broth.

For a vegetable side, try quick-sautéed green beans, steamed bok choy, or a crisp cucumber salad. A simple salad with cucumber, onion, and a mild vinegar dressing can balance the richness of the pork and the sauce’s sweetness. Put extra sauce on the table for anyone who likes a generously coated bowl, and offer sliced scallions as an optional fresh garnish.

Variations

Use a pork-and-beef blend. Replace half of the pound of ground pork with ½ lb (227 g) ground beef. The meatballs will have a deeper, beefier flavor. Because beef fat levels differ, choose a blend that is not extremely lean if you want a moist texture. Check the centers with a thermometer and cook this ground-meat mixture to 160°F (71°C).

Make a lighter-tasting sauce. If you prefer less sweetness, use ⅓ cup (80 ml) banana ketchup and increase the tomato sauce to 1⅙ cups (about 280 ml). Keep the vinegar and soy sauce the same to start, then taste after simmering. This shifts the sauce toward a more tomato-forward flavor without changing the meatball method.

Add a little heat. Stir ¼ teaspoon (1 g) red pepper flakes into the sauce as it simmers, or serve sliced fresh chili separately so diners can choose their own spice level. For a milder, more savory variation, leave out the optional fish sauce; it adds a subtle savory depth, but the soy sauce already seasons the mixture.

Make smaller party-size meatballs. Shape the mixture into about 30 smaller balls, around 1 inch (2.5 cm) across. Begin checking them after about 12 minutes in the oven, since their size changes the cooking time. They still need to reach 160°F (71°C) in the center before they go into the sauce.

Storage and Reheating

Refrigerate cooked meatballs and sauce within 2 hours of cooking, in a covered airtight container. They keep for 3–4 days in the refrigerator. For quicker cooling, divide a large batch among shallow containers rather than leaving the whole saucepan on the counter. Keep the rice or noodles in a separate container if possible, since they can absorb the sauce and become soft.

To reheat on the stove, put the meatballs and sauce in a covered saucepan over medium-low heat. Stir gently and add a splash of water if the sauce has thickened; heat until the centers reach 165°F (74°C), checking with a food thermometer. In a microwave, cover a portion loosely, pause to stir or turn the meatballs partway through, and continue heating until the food reaches 165°F (74°C) throughout.

For longer storage, freeze the cooled meatballs with their sauce in a freezer-safe container for about 2–3 months for best quality. Leave a little room for expansion and label the container with the date. Thaw overnight in the refrigerator when convenient, then reheat to 165°F (74°C); you can also reheat from frozen in a covered saucepan over low heat, allowing extra time and stirring carefully as the sauce loosens.

Frequently Asked Questions

Can I cook the meatballs on the stovetop instead?

Yes. Heat a thin film of oil in a wide skillet over medium heat and cook the meatballs in batches, turning them carefully so they brown on several sides. Once browned, add them to the prepared sauce, cover, and gently simmer until the centers reach 160°F (71°C). Avoid crowding the skillet, which can make the meatballs release moisture and cook unevenly.

Can I prepare the meatball mixture ahead?

You can mix and shape the meatballs up to one day ahead. Cover them and refrigerate promptly, keeping them at 40°F (4°C) or colder; don’t leave raw ground pork at room temperature. Bake them directly from the refrigerator, allowing a little extra time if needed, and use a thermometer to confirm they reach 160°F (71°C).

Why did my meatballs turn out tough?

Overmixing, squeezing the portions tightly, or adding too many breadcrumbs can make meatballs dense. Combine the ingredients gently and roll just enough to make each ball hold together. Also check the oven temperature and begin checking the largest meatballs near the lower end of the time range; once they reach the safe temperature, they do not need extra baking.

What can I use instead of breadcrumbs?

Use ½ cup (about 45 g) quick oats in place of the breadcrumbs, or use ½ cup (60 g) finely crushed plain crackers. Oats give the meatballs a slightly heartier texture, while crackers can taste saltier, so you may want to reduce the added salt. Let the mixed meatball mixture stand for about 5 minutes so the substitute can absorb moisture; add that brief rest to your preparation time.

Can I double this recipe?

Yes. Double every ingredient and mix in a large bowl, but bake the meatballs in batches or on multiple pans with space between them. A crowded oven and crowded baking sheet can slow browning and make the cooking time less predictable. Check several of the largest meatballs in each batch for 160°F (71°C), and make sure the sauce is large enough to coat them without overflowing.

Related

More recipes to cook

Safety notes: safe minimum internal temperatures from USDA FSIS; raw and undercooked fish guidance from the U.S. FDA. Food safety notes

Spotted an error? Tell us and we will correct it (corrections policy).