Combine all meatball ingredients (except olive oil) in a large bowl and mix thoroughly. Shape mixture into 1-inch meatballs for uniform cooking.
Heat olive oil in a skillet over medium-high heat. Cook meatballs on all sides until browned, adding more oil if needed. Remove and set aside.
In the same skillet, melt butter and sauté onions until soft and translucent. Add flour and garlic, cook for 1 minute, then whisk in beef stock until thickened.
Stir in ketchup, BBQ sauce, smoked paprika, salt, and pepper. Return meatballs to the pan and let them coat in the sauce for a minute.
Mash boiled potatoes in a bowl, then mix in butter, milk, salt, and pepper until smooth and creamy.
Place a generous scoop of mashed potatoes on each plate, top with meatballs and gravy, and serve with steamed vegetables. Garnish with parsley for color.