Preheat the air fryer: Set to 375°F (190°C). Lightly spray or brush the basket with oil to reduce sticking.
Make a quick panade: In a large bowl, combine breadcrumbs and milk.
Let it sit for 2 to 3 minutes until it looks like a thick paste. This step keeps the meatballs moist.
Add flavor builders: Stir in the egg, Parmesan, onion, garlic, parsley, Italian seasoning, red pepper flakes (if using), salt, and black pepper. Mix until evenly combined.
Fold in the meat: Add the ground beef and ground pork.
Use your hands or a fork to gently mix just until combined. Do not overwork or the meatballs will be tough.
Shape the meatballs: Scoop into 1 1/2-inch balls (about 2 tablespoons each). Roll with lightly oiled hands for smooth edges. You should get about 20 to 24 meatballs.
Load the basket: Arrange meatballs in a single layer with a little space between them. Cook in batches if needed—crowding prevents browning.
Air fry: Cook for 10 to 12 minutes, shaking the basket or turning the meatballs halfway.
They’re done when the centers reach 165°F (74°C) and the outsides are browned.
Optional finish in sauce: For extra juiciness, simmer the cooked meatballs in warmed marinara for 5 minutes. This is great for pasta night or meatball subs.
Serve: Plate with pasta, swirl into sauce, or offer toothpicks with dips like marinara, pesto, or garlic aioli.