01 - Preheat oven to 400°F. Line a baking tray with parchment paper and set aside.
02 - In a large mixing bowl, combine the ground beef, egg, breadcrumbs, Parmesan cheese, minced garlic, grated onion, chopped parsley, salt, and black pepper. Mix gently until evenly incorporated, being careful not to overwork the meat.
03 - Divide the mixture into 12 equal portions. Flatten each portion in the palm of your hand, place a mozzarella cube in the center, and wrap the meat around the cheese. Seal the edges well and roll into a smooth ball. Arrange on the prepared baking tray.
04 - Bake in the preheated oven for 20 to 25 minutes until the meatballs are golden brown on the outside and cooked through to an internal temperature of 160°F.
05 - While the meatballs bake, melt the butter in a medium saucepan over medium heat. Whisk in the flour and cook for 1 minute, stirring constantly to form a smooth roux.
06 - Gradually whisk in the whole milk, stirring continuously to prevent lumps. Continue cooking and stirring for 2 to 3 minutes until the mixture thickens enough to coat the back of a spoon.
07 - Reduce heat to low. Add the shredded cheddar, pepper jack cheese, smoked paprika, cayenne pepper, hot sauce, and salt. Stir constantly until all the cheese has melted and the sauce is smooth and creamy.
08 - Arrange the hot meatballs on a serving platter and drizzle generously with the spicy cheese sauce. Garnish with fresh chopped parsley. Serve alongside crusty bread or over pasta.