Prepare the meatballs:
In a large mixing bowl, combine ground beef, breadcrumbs, milk, egg, grated onion, Worcestershire sauce, garlic powder, salt, and pepper. Mix until well combined.
Form the mixture into 1- to 1.5-inch meatballs (about 18-20 meatballs).
(Optional) Brown the meatballs:
For extra flavor, you can brown the meatballs before adding them to the slow cooker. Heat a skillet over medium-high heat, add olive oil or butter, and brown the meatballs on all sides. Transfer to the slow cooker.
Prepare the gravy:
In the slow cooker, add the sliced onions and mushrooms.
In a small bowl, whisk together beef broth, Worcestershire sauce, and tomato paste until smooth. Pour this mixture over the onions and mushrooms in the slow cooker.
Add the meatballs to the slow cooker:
Place the meatballs on top of the gravy and vegetables. Gently stir to combine.
Cook:
Cover and cook on low for 4-5 hours, or until the meatballs are tender and fully cooked.
Thicken the gravy:
In the last 30 minutes of cooking, add the cornstarch slurry (cornstarch mixed with water) to the slow cooker and stir gently. Continue cooking until the gravy thickens.
Serve:
Season with salt and pepper to taste, if needed. Serve warm with mashed potatoes, rice, or egg noodles, garnished with fresh parsley if desired.