Bring a large pot of salted water to a boil and cook the pasta according to the package instructions. Drain and transfer to a large bowl. Set aside.
In a large cast-iron skillet, melt the butter over low heat until foamy. Add the flour and stir until completely smooth and slightly thickened, about 2 minutes.
While stirring, gradually add the milk and cook until the sauce is thickened, about 4 minutes. Season with the paprika, pepper, and salt.
Fold in the spinach and stir until wilted. Add 1½ cups (150 g) of shredded mozzarella and stir until completely melted.
Add the cooked pasta and stir to coat in the sauce.
Sprinkle the remaining shredded mozzarella evenly over the pasta, then top with the fresh mozzarella if using. Arrange the tomato slices on top.
Bake until browned and bubbling, about 25 minutes.