Prep the meatball mixture: In a large bowl, combine ground meat, breadcrumbs, egg, milk, 1/2 cup Parmesan, grated onion, 2 cloves minced garlic, 1–2 tbsp parsley, Italian seasoning, red pepper flakes (if using), 1 tsp salt, and 1/2 tsp black pepper. Mix gently with a fork or your hands until just combined. Don’t overwork it.
Form the meatballs: Scoop into 1 to 1.5-inch balls (about 16–20 meatballs).
Lightly oil your hands to prevent sticking. Place them on a plate or sheet pan.
Brown the meatballs: Heat olive oil in a large skillet over medium to medium-high heat. Add meatballs in a single layer without crowding.
Sear 3–4 minutes per side until well-browned. Work in batches if needed. Transfer browned meatballs to a plate.
Make the garlic butter sauce: Lower heat to medium.
Add butter to the skillet. When melted, add remaining 3–4 cloves garlic and cook 30–60 seconds until fragrant, stirring to prevent burning. Pour in chicken broth, scraping up browned bits.
Simmer and finish meatballs: Return meatballs and any juices to the pan.
Simmer 5–8 minutes, turning occasionally, until cooked through (internal temp 165°F/74°C for poultry, 160°F/71°C for beef/pork). Stir in lemon juice and taste; season with salt and pepper as needed.
Wilt the spinach: Add spinach to the skillet in handfuls, tossing with tongs as it wilts. It will shrink quickly.
Cook 1–2 minutes until just tender but still bright green.
Finish with Parmesan and parsley: Sprinkle remaining 1/4 cup Parmesan and 1 tbsp parsley over the top. Toss gently to coat. For extra richness, add a small pat of butter or a drizzle of olive oil.
Serve: Spoon meatballs and spinach into bowls.
Add a squeeze of lemon and extra Parmesan. Pair with pasta, rice, mashed potatoes, or crusty bread to soak up the sauce.