Preheat the oven to 375°F.
Tear the bread into smaller pieces and add to a blender or food processor. Pulse until you have small, coarse breadcrumbs, you don't want them completely fine.
Spread the breadcrumbs onto a baking sheet and drizzle with olive oil. Add the fresh thyme and a small pinch of salt, then toss everything together.
Bake for about 8–12 minutes, tossing once or twice, until golden brown and crispy. Keep an eye on them toward the end so they don't burn. Set aside.
Bring a large pot of salted water to a boil and cook your pasta according to the package directions.
While the pasta cooks, make the cheese sauce. Melt the butter in a saucepan over medium heat. Once melted, add the flour and stir continuously until combined and thickened, about 1–2 minutes.
Gradually add the warm milk, a little at a time, whisking well after each addition to keep the sauce smooth. Continue adding milk until you have a creamy, pourable sauce - you may need anywhere from 3-4 cups, depending on how thick you like it.
Season lightly with salt and plenty of freshly cracked black pepper. Keep the salt on the lighter side since the cheese will add plenty of saltiness.
Lower the heat and add the mozzarella, old white cheddar, and medium cheddar. Stir until all the cheese has melted and the sauce is smooth and creamy.
When the pasta is almost cooked, add the broccoli directly to the pasta water and cook for about 1 minute, just until the broccoli is bright green and slightly tender.
Drain the pasta (saving about 1/2 cup of the pasta water) and broccoli well, then add them directly to the cheese sauce. Stir until everything is evenly coated.
Transfer the mac and cheese to a baking dish and sprinkle a thin layer of the reserved cheddar over the top.
Bake at 375°F for about 15–20 minutes, or until hot, bubbling, and the cheese on top is melted.
Remove from the oven and let it sit for a few minutes, then generously scatter the crispy thyme breadcrumbs over the top.
Serve warm with extra breadcrumbs for sprinkling over each serving.