Position a rack in the center of the oven and preheat it to 350º F.
In a small skillet over medium heat, cook bacon until crispy, about 8 minutes. Remove to a paper towel-lined plate and reserve.
While the bacon is cooking, in a medium sized bowl, whisk together the eggs, milk and Parmigiano-Reggiano. Season with salt and pepper.
In a large bowl, toss the bread cubes, tomatoes, basil, mozzarella and reserved bacon. Mix to combine. Set aside until ready to bake
Rub the inside of 4 ramekins with butter. Scoop bread mixture into each ramekin, pressing down so it all fits tightly. Carefully pour the egg mixture over everything.