Bring a large pot of salted water to a boil. Add the manicotti shells and cook until just al dente, about 7 to 8 minutes. Drain carefully and rinse under cold water to stop cooking. Lay the shells flat on a lightly oiled baking sheet to prevent sticking while you prepare the filling.
Heat a drizzle of olive oil in a large skillet over medium heat. Add the minced garlic and sauté for about 1 minute until fragrant. Add the ground beef, breaking it up with a spoon, and cook until browned and no longer pink, about 6 to 8 minutes. Season with salt, pepper, and Italian seasoning. Stir in the chopped spinach and cook just until wilted, about 2 minutes. Remove from heat and let cool slightly.
In a mixing bowl, combine the ricotta cheese, half of the shredded mozzarella, grated Parmesan, and the cooked beef and spinach mixture. Stir until everything is evenly incorporated. Adjust seasoning if needed.
Using a spoon or a piping bag, fill each manicotti shell generously with the beef and spinach mixture. Take your time to ensure each shell is nicely packed without breaking.
Preheat your oven to 350°F (175°C). Spread about 1 cup of marinara sauce evenly over the bottom of your baking dish. Arrange the stuffed shells in a single layer on top of the sauce. Pour the remaining marinara sauce over the shells and sprinkle the top with the remaining mozzarella cheese.
Cover the baking dish with foil and bake for 25 minutes. Remove the foil and bake for an additional 10 minutes or until the cheese is melted and bubbly. Let the manicotti rest for a few minutes before serving.