Mix ground beef, breadcrumbs, Parmesan, egg, garlic, Italian seasoning, salt, and pepper in a bowl. Form into 1–2 inch balls. Sear in a skillet with olive oil over medium heat until browned on all sides, about 8 minutes.
Boil spaghetti in salted water until just shy of al dente. Drain and toss with a bit of olive oil to keep from sticking.
Preheat oven to 375°F (190°C). Spread 1 cup marinara on the bottom of a 9x13-inch dish. Add half the pasta, top with meatballs, then the rest of the sauce. Sprinkle with garlic powder, Italian seasoning, mozzarella, and Parmesan.
Cover with foil and bake for 15 minutes. Uncover and bake 10–15 minutes more, until cheese is golden and bubbly.
Let rest for 5 minutes. Garnish with fresh basil or parsley before serving.