Cook pasta shells in boiling water until al dente (follow directions on back of box).
While shells are cooking, preheat oven to 375 degrees.
Add the olive oil to a skillet and heat over medium high.
Add in the onions and saute for about 2 minutes.
Add in the garlic and cook an additional 1-2 minutes.
Add in the spinach and cook about 2 minutes, or until leaves are wilted.
Place spinach mixture into a medium mixing bowl and add in the Ricotta, mozzarella, Parmesan, egg, salt, and pepper. Stir until combined.
Take about 1 cup of spaghetti sauce and spread on the bottom of a baking pan (I use 9x9).
Fill cooked pasta shells with spinach mixture and place into prepared pan.
Pour remaining spaghetti sauce on top of shells and place pan into oven.
Cook for about 25 minutes.
Remove from oven and add additional cheese if desired and serve!