Preheat the oven to 400 degrees. Brush a baking sheet with olive oil.
Pulse the bread in a food processor to make coarse crumbs. Transfer the breadcrumbs to a small bowl. Add the milk and set aside to soak for 5-10 minutes.
In a large bowl, lightly beat the eggs. Add the ground beef, chopped parsley, Parmesan cheese, garlic, salt, red pepper flakes, Italian seasoning and pepper. Mix with your hands to combine.
Add the bread and milk mixture to the meat mixture and mix to combine. Shape the meat mixture into 8-10 large balls. Using your thumb, make an indentation in the center of each meatball and insert a mini mozzarella ball. Mold the meat around the cheese to cover completely.
Arrange the meatballs on the prepared baking sheet and bake until browned and firm, 25-30 minutes.
Meanwhile, make the sauce. Heat the olive oil in a large skillet over medium-high heat. Add the garlic, red pepper flakes and fennel seed and cook, stirring, until the garlic softens, about 1 minute.
Add the crushed tomatoes, 1 cup water and the basil. Bring to a boil, then reduce the heat to low and simmer until thickened, about 30 minutes. Season with salt and pepper, to taste.
Add the cooked meatballs to the sauce, spooning some of the sauce over top. Continue cooking, occasionally spooning additional sauce over the meatballs, for another 6-10 minutes.