Preheat your oven to 350 degrees.
Boil a large pot of salted water and cook the pasta shells to al dente.
Drain and set aside to cool.
While the pasta shells are cooking, make the filling.
Sauté the onion in a pan for a few minutes until soft and translucent.
Add the garlic and sauté for another minute.
Add the chopped spinach and basil and stir to combine.
In a separate pan, blister the grape tomatoes and smash with the back of a spoon or potato masher.
Add the tomatoes to the other pan and season with salt, and pepper.
Remove from heat so it can cool.
In a bowl, combine the ricotta cheese, two eggs, salt, pepper, and Italian seasoning.
Add the tomato mixture to the ricotta mixture and stir well to combine.
To assemble the shells, get two 9x13 baking dishes and spread 1/2 cup of pasta sauce on the bottom of each baking dish.
Stuff each shell with 2 tablespoons of mixture and lay in the baking dish. Each baking dish should hold approximately 20 shells.
Top the shells with the remaining pasta sauce and mozzarella cheese.
Bake for 10 minutes or until the cheese melts.