Cook pasta in salted water until just al dente - drain.
In a deep pan or dutch oven, over medium-high heat, add olive oil and onion and cook until softenened.
Add ground beef to pan and cook with onions - breaking up the beef with a spatula, until beef is fully cooked through and onions are softened (5-7 minutes).
Add minced garlic, 1 tsp salt, 1/2 tsp pepper and saute another minute.
Add marinara sauce and bring to a simmer for 5 minutes.
Remove from heat.
Spread a ladle of meat sauce over the bottom of a 9x13 casserole dish.
Add ricotta cheese into the sauce and meat mixture just until combined.
Add cooked pasta and stir just until noodles are coated.
Transfer half of the pasta to the casserole dish. Top with 1/2 of shredded mozzarella and 1/2 grated parmesan. Add remaining pasta and top with remaining mozzarella and parmesan.
Bake at 350˚F for 25 minutes. Broil 1-2 minutes to brown the cheese.
Let cool 5 minutes then garnish with basil if desired and serve with a side of garlic bread and salad for a full meal.