Preheat oven to 400ºF (200ºC).
Bring a large pot of water to a boil over medium-high heat. Add the spinach and cook until the greens are wilted, about 1 minute. Remove the spinach to a strainer (leaving the pot of water on the heat).
Dry the spinach completely then roughly chop and add to a large mixing bowl with the ricotta, 1 cup of the Parmesan, 1 cup of the mozzarella cheese and the egg yolks. Stir to combine completely then season to taste with salt and pepper.
Return the pot of water to a boil, add the shells to the water and cook until they’re just shy of al dente, about 8 minutes (they will continue to cook in the oven). Reserve 1 cup of the pasta cooking water then drain the shells and set aside.
Add ½ cup of the pasta cooking water to the vodka sauce, stirring to combine over medium-low heat.
Spread ¾ cup of the vodka sauce to the bottom of a large baking dish. Fill each shell with 1 heaping tablespoon of the filling and arrange in the baking dish.
Pour the remaining sauce over the shells and top with the remaining mozzarella and Parmesan cheese. Pour the remaining pasta cooking water over the top (this will prevent the pasta from drying out).
Cover and bake for 30 minutes, then uncover and bake until the top is bubbling and the cheese is melted, about 15 minutes. Drizzle with the pesto oil and serve, hot.