Preheat and prep: Set your oven to 425°F (220°C).
Lightly oil a large rimmed baking sheet with 1 tablespoon olive oil, then place it in the oven while it preheats. A hot pan helps the meatballs brown.
Make a panade: In a large bowl, combine the breadcrumbs and milk. Stir and let it sit for 3–4 minutes until the crumbs absorb the liquid and soften.
Add aromatics and seasonings: Mix in the egg, grated onion, garlic, Parmesan, parsley, Italian seasoning, salt, and pepper.
Stir until evenly combined.
Add the beef: Crumble the ground beef into the bowl. Using clean hands or a fork, gently mix until just combined. Do not overwork or the meatballs can turn dense.
Shape: Roll the mixture into meatballs about 1.5 inches wide (roughly golf-ball size). You should get 20–24 meatballs.
Lightly oil your hands to prevent sticking.
Arrange on the hot sheet: Carefully remove the hot baking sheet from the oven. Drizzle on the remaining tablespoon of olive oil and tilt to coat. Place the meatballs on the sheet, leaving space between each one.
Bake: Bake for 14–18 minutes, until the meatballs are browned and cooked through. Internal temperature should reach 160°F (71°C) for ground beef.
Optional broil: For extra color, broil for 1–2 minutes at the end, watching closely.
Rest and serve: Let the meatballs rest for 3–5 minutes.
Toss with warm marinara, spoon over pasta, or serve with your favorite sides.