In a bowl, combine half of the onion cubes with beef, oregano, thyme, pepper, salt, half of the beaten egg, and breadcrumbs. Mix until combined. Shape into balls of about 60g each.
Heat oil in a pan over medium-high heat. Fry meatballs on both sides for about 2 minutes per side (4 minutes total) until browned but not fully cooked through. Transfer to a plate.
In the same pan over medium heat, cook remaining onion and garlic cubes for 3-4 minutes until translucent. Add bacon and tomato paste, cook for about 2 minutes while stirring. Add chopped tomatoes and simmer for 3-5 minutes until slightly thickened. Stir in oregano, thyme, and cream. Season with salt and pepper to taste.
Pour sauce into a baking dish. Distribute meatballs evenly throughout. Cut mozzarella into sticks and spread over the top.
Bake at 180°C (350°F) for 25 minutes until mozzarella is melted and meatballs are cooked through.