Preheat your oven to 350°F (175°C).
In a large skillet, heat the olive oil over medium heat. Add the diced onion and minced garlic, sautéing until the onion is translucent, about 3-4 minutes.
Add the ground beef to the skillet, breaking it apart with a spatula. Cook until browned and fully cooked, about 5-7 minutes. Drain any excess fat.
Stir in the sliced zucchini, diced tomatoes, Italian seasoning, salt, and black pepper. Cook for an additional 5 minutes until the zucchini is slightly tender.
In a 9x13-inch baking dish, layer half of the beef and zucchini mixture. Sprinkle half of the cheddar and mozzarella cheese on top. Repeat with the remaining mixture and cheeses. If using breadcrumbs, sprinkle them evenly on top for added crunch.
Cover the dish with aluminum foil and bake in the preheated oven for 25 minutes. Remove the foil and bake for an additional 10-15 minutes, or until the cheese is bubbly and golden.
Let the casserole cool for 5 minutes before serving.