In a large bowl, stir together the breadcrumbs, milk, grated onion, garlic, parsley, and red pepper flakes (if using). Let the mixture sit 3 minutes to hydrate the crumbs.
Add the ground beef, Parmesan, egg, salt, and pepper. Using a fork or your fingertips, mix just until everything is evenly distributed—stop while you can still see small streaks of meat. Rest the mixture 5 minutes to firm up.
Line a tray with parchment. Scoop and roll 1 1/4-inch meatballs (about 1 ounce each) and set them on the tray. Chill 10 minutes to help them keep their shape.
Preheat the air fryer to 390°F for 3 minutes. Lightly mist the basket with oil if your fryer tends to stick, then arrange meatballs in a single layer with space between each (work in batches as needed).
Air fry at 390°F for 7 minutes, then turn or shake the basket. Continue cooking 4–6 minutes more, until browned with an internal temperature of 165°F.
Transfer cooked meatballs to a warm plate and repeat with remaining batches. Serve hot as-is, with warm marinara, or over pasta. Tip: Use an instant-read thermometer and avoid overmixing for the juiciest texture.