Preheat the oven to 350 degrees F.
Bring a large pot of salted water to a boil over high heat. Add the pasta and cook until tender but still firm to the bite, stirring occasionally, about 8 to 10 minutes. Drain pasta.
In a large skillet, heat the olive oil over medium heat. Add the mushrooms, onion, and garlic. Cook until the mushrooms are tender and the onion is golden, about 7 minutes. Add the tomatoes, spinach, and red pepper flakes. Stir to combine and cook until heated through, about 5 minutes.
In a small bowl, mix together the bread crumbs, 1/4 cup Parmesan, and 1/4 cup Romano. Spread the softened butter in a 9 by 13-inch glass baking dish and sprinkle half of the bread crumb mixture inside the dish to coat.
In a large bowl combine the vegetable mixture with the cooked macaroni, cubed mozzarella, the remaining Parmesan and Romano cheeses, and the nutmeg. Spoon into the prepared baking dish, top with the remaining bread crumb mixture, and dot the top with the remaining butter. Bake until the top is golden brown, about 30 to 40 minutes.