Make the Meatballs:
In a bowl, combine breadcrumbs and milk. Let sit for 2 minutes to soften. Add ground meat, egg, garlic, onion, Worcestershire, salt, and pepper. Mix until just combined.
Stuff and Shape:
Take a portion of meat mixture, flatten it slightly, place a cube of cheese in the center, and shape into a ball around it. Repeat with all meat.
Sear the Meatballs:
In a large skillet, heat olive oil over medium heat. Sear meatballs in batches until browned on all sides (about 5–6 minutes total). Remove and set aside.
Make the Gravy:
In the same pan, melt butter and sauté onion until soft, about 4 minutes. Stir in flour and cook 1 minute. Slowly whisk in Guinness, then broth. Add Worcestershire, thyme, salt, and pepper. Bring to a simmer.
Simmer the Meatballs:
Return meatballs to the pan. Cover and simmer for 15–20 minutes, until meatballs are cooked through and the gravy has thickened.
Serve:
Spoon over mashed potatoes, rice, or buttered noodles. Garnish with parsley if desired.