Preheat oven to 375.
Grease a 13x9-inch baking dish with butter, layer bread slices, and set aside.
Heat olive oil in a skillet over medium heat.
Add garlic, stir and cook until fragrant; about 1 minute.
Add tomatoes and season with salt and pepper.
Cook for 4 to 5 minutes, or until soft.
Remove from heat and stir in basil.
Pour the tomato mixture over the bread slices and gently stir to combine.
Top with shredded mozzarella cheese; set aside.
In a medium-sized mixing bowl combine eggs, milk, salt and pepper and beat with mixer for about 1 minute or until thoroughly combined and smooth.
Pour egg mixture over the bread mixture. Egg mixture should come up just to the topping; it shouldn't cover it.
Let stand for 20 minutes.
Bake for 25 to 30 minutes, or until custard is set and dish is puffed and golden.
Cool for a few minutes before cutting into squares.
Serve.