Cook chopped bacon in a large skillet until crispy. Drain on paper towels and let cool completely.
Grease a 9x13-inch baking dish and layer half of the bread cubes on the bottom. Top with half the bacon, half the tomatoes, and half of both cheeses. Repeat layers.
In a large bowl, whisk together eggs, milk, Dijon mustard, salt, pepper, and paprika until smooth and well combined.
Pour egg mixture evenly over the layered ingredients, pressing down gently to ensure bread is soaked. Cover tightly and refrigerate overnight.
In the morning, preheat oven to 350°F and remove casserole from refrigerator to take off the chill while oven preheats.
Bake uncovered for 45-50 minutes until the center is set, the top is golden brown, and the edges are slightly crispy. Let stand 5 minutes, then garnish with fresh basil before serving.