Bring a large pot of salted water to a boil. Add the pasta and cook until al dente (about 2 minutes shy of the package instructions). Drain the pasta, then rinse with cool water and set aside.
While the pasta is cooking, heat the olive oil in a large dutch oven over medium-high heat. Once the pan is hot, add the ground beef, and allow it to sit for 4-5 minutes or until the edges are browned and crispy when you lift it up. Do not move or touch it while it's browning. Once the first side is browned, flip it and brown on the other side for 4-5 minutes.
Preheat the oven to 350℉ and brush a thin layer of olive oil inside a 13 x 9 inch baking dish.
Break up the beef using a meat masher, then add the diced onion, and 2 cloves of minced garlic. Cook over medium heat for 5-6 minutes, tossing occasionally, or until the onion is translucent and the beef is no longer pink.
Add the Italian seasoning, salt and 1/4 tsp pepper and cook, stirring, for a minute or two. Add the marinara, basil, and 1/4 cup of reserved pasta water and let it simmer for a couple of minutes until warmed through. Stir in the cooked pasta, remove from the heat and set aside.
Add the ricotta and egg to a medium sized mixing bowl and stir until fully combined. Then mix in half of the shredded mozzarella, 1 minced garlic clove, half of the Parmesan cheese, oregano, 1/4 tsp of salt, and remaining pepper.
Place half the pasta mixture in the prepared baking dish and spoon the ricotta mixture evenly on top. Top with the remaining pasta mixture and cover loosely with foil. Bake for 30 minutes, then uncover the lasagna and sprinkle the remaining mozzarella and parmesan cheese on top and bake uncovered for 5-10 minutes or until the cheese has melted. Garnish with fresh basil if desired and serve.