Soak the breadcrumbs. In a bowl, stir the breadcrumbs and milk together.
Let them sit for 2–3 minutes so they soften. This keeps the meatballs moist.
Mix the meatball base. Add ground meat, egg, grated onion, garlic, soy sauce, Worcestershire, salt, and pepper to the breadcrumbs. Use clean hands to gently combine. Don’t overmix—stop when it looks uniform.
Shape the meatballs. Scoop into 1 to 1.5-inch balls (about 18–22 meatballs).
Lightly oil your hands if the mixture is sticky.
Brown the meatballs. Heat oil in a large skillet over medium-high. Add meatballs in a single layer without crowding. Brown on 2–3 sides for 5–7 minutes total.
They don’t need to be fully cooked yet. Transfer to a plate. (Alternatively, bake at 425°F/220°C for 12–15 minutes.)
Build the sauce. In the same pan, lower heat to medium. Stir in ketchup, vinegar, brown sugar, pineapple juice, soy sauce, and ginger if using.
Bring to a gentle simmer.
Thicken it. Add the cornstarch slurry while stirring. Simmer for 1–2 minutes until the sauce becomes glossy and lightly thickened. Taste and adjust—add a splash of vinegar for more tang or a pinch of sugar for sweetness.
Cook the veggies (optional). If using bell peppers and onion, add them to the sauce and cook 2–3 minutes until crisp-tender.
Finish the meatballs. Return the meatballs and any juices to the pan.
Spoon sauce over them. Cover and simmer on low for 8–10 minutes, or until the meatballs are cooked through and the sauce clings nicely.
Serve. Garnish with pineapple chunks, scallions, and sesame seeds. Great over steamed rice, cauliflower rice, or skewered as an appetizer.