Preheat oven to 350 degrees F. Prepare pasta shells according to package directions. Drain, rinse and set aside.
Meanwhile, add olive oil to a large skillet heated to medium-high. Once oil is hot, add minced garlic and baby spinach. Stir and cook until spinach is wilted down, about 3 to 5 minutes. Remove from heat.
In a large bowl, add ricotta, mozzarella and parmesan cheeses with one egg. Stir together until combined. Add fresh basil, salt and pepper, along with slightly cooled spinach mixture. Stir and set aside.
Spread half of the pasta sauce evenly into an oven-safe dish. Use a spoon to generously scoop cheese and spinach mixture into shells, placing each into the sauce with the stuffed side facing up. Continue filling shells and nestle them into the baking dish, until it is filled.
Spoon the remaining pasta sauce onto the stuffed shells, filling in extra spaces between the shells. Cover the dish with aluminum foil and place on middle rack of the preheated oven for 25 to 30 minutes.
Remove the foil and cook for an additional 15 to 20 minutes, until sauce begins to bubble. Take the dish out of the oven, shred fresh parmesan onto the top of the shells (optional) and let rest for 5 minutes before serving.