Bring a large pot of salted water to a boil, then add the pasta shells and cook until al dente. Drain and set aside to cool slightly, making them easier to handle.
While the pasta cooks, heat a skillet over medium heat and add the Italian sausage. Cook, breaking it apart with a spoon, until browned and cooked through, about 8 minutes. Remove from heat and let cool slightly.
Add the minced garlic to the skillet and sauté for about 30 seconds until fragrant. Toss in the chopped spinach and cook until wilted, about 2-3 minutes. Remove from heat and let cool a bit.
In a mixing bowl, combine the cooked sausage, sautéed spinach and garlic, ricotta cheese, half of the mozzarella, Parmesan, salt, and pepper. Mix until well blended and the mixture is creamy.
Stuff each cooked pasta shell with a generous spoonful of the filling, using a small scoop or teaspoon, until all shells are filled.
Spread a thin layer of marinara sauce in the bottom of a baking dish. Arrange the stuffed shells seam-side down in the dish, then spoon remaining marinara sauce over the top.
Sprinkle the remaining mozzarella cheese evenly over the tops of the shells for a cheesy, bubbly finish.
Cover the dish tightly with foil and bake in a preheated oven at 375°F (190°C) for 25 minutes. Then, remove the foil and bake for another 10-15 minutes until the cheese is golden and bubbling.
Once baked, let the dish rest for about 5 minutes before serving. Garnish with extra Parmesan or fresh herbs if desired.