Mix the meatballs: In a large bowl, combine the ground game meat, optional ground pork or beef, breadcrumbs, egg, Parmesan, garlic, grated onion, parsley, thyme, salt, pepper, and a splash of milk. Mix gently with your hands until just combined.
The mixture should feel moist but hold together.
Form the meatballs: Roll into golf ball–sized portions, about 1.5 inches wide. You should get 16–20 meatballs. Place them on a plate or tray.
Brown the meatballs: Heat 1 tbsp olive oil in a large Dutch oven over medium-high heat.
Brown the meatballs in batches, turning to color all sides, about 5–7 minutes total. They don’t need to be fully cooked yet. Transfer to a plate and set aside.
Sauté the vegetables: Add the remaining 1 tbsp olive oil to the pot.
Sauté onion, carrots, and celery with a pinch of salt for 5 minutes, stirring often. Add mushrooms and cook until they release their moisture and start to brown, about 4 minutes. Stir in the garlic and cook 30 seconds.
Build the base: Stir in the tomato paste and smoked paprika.
Cook for 1 minute to caramelize the paste. Pour in the red wine, scraping up any browned bits from the bottom of the pot. Let it simmer for 2–3 minutes to reduce slightly.
Add liquids and seasonings: Pour in the stock, add potatoes, bay leaf, rosemary, and Worcestershire if using.
Bring to a gentle boil, then reduce to a simmer.
Simmer with meatballs: Return the browned meatballs and any juices to the pot. Cover partially and simmer gently for 25–35 minutes, stirring occasionally, until the potatoes are tender and the meatballs are cooked through.
Adjust thickness: If you prefer a thicker stew, stir in the cornstarch slurry and simmer for 2–3 minutes until it slightly thickens. Taste and adjust salt and pepper.
Finish and serve: Remove the bay leaf.
Sprinkle with fresh parsley. Serve hot with crusty bread or over mashed potatoes.