Pre-heat the oven to 400°F.
Bring a large pot of water to a boil for the pasta. Salt the water and cook the shells for 2-3 minutes less than the package directions. Heads up: You will need to reserve 1/2 cup starchy cooking water just before draining the pasta.
Meanwhile, heat a medium size pot or high-sided skillet over medium heat with the EVOO. Add the onion and garlic and sauté for 3-4 minutes. Add the spinach, pulling it apart as you add it, and season with a little freshly grated nutmeg, salt and pepper. When the spinach mixture is warm through, transfer it to a small dish and reserve. Return the pot to the heat, add the butter and melt. Add the tomatoes and break up with a spoon. Season with salt and pepper, add the basil leaves and cook to thicken the sauce, 7-8 minutes.
Drain the pasta and return the pasta to the hot pot. To the pasta, add the spinach, reserved starchy water, ricotta cheese and half of the Parmigiano Reggiano. Adjust the salt and pepper, to taste, and transfer to a baking dish. Top the pasta mixture with the tomato sauce, mozzarella and remaining Parmigiano Reggiano. Bake until the cheeses are melted and bubbly, 6-8 minutes.