Cook bacon in a large skillet until crispy; drain on paper towels and cool completely.
Grease a 9x13-inch dish; layer half the bread, bacon, tomatoes, and both cheeses. Repeat layers.
Whisk eggs, milk, mustard, salt, pepper, and paprika in a large bowl until smooth and combined.
Pour evenly over layers; press gently to soak bread. Cover tightly; refrigerate overnight.
Next morning, preheat oven to 350°F; remove casserole from refrigerator while oven heats.
Bake uncovered 45-50 minutes until center is set, top golden brown, and edges slightly crispy. Stand 5 minutes; garnish with basil before serving.