Bring a large pot of salted water to a boil. Add the penne pasta and cook according to package instructions until al dente, usually about 10-12 minutes. Drain and set aside, reserving a small cup of the pasta water.
Heat the tablespoon of olive oil in a large skillet over medium-high heat. Add the chopped onion and bell pepper, sautéing until softened, about 5 minutes. Add the minced garlic and cook for another minute until fragrant. Push the veggies to the side and add the ground beef. Cook until browned and no longer pink, breaking it apart with a spoon as it cooks. Drain any excess fat.
Pour the crushed tomatoes into the skillet with the beef mixture. Sprinkle in the Italian seasoning, salt, and black pepper. Stir well to combine and let the sauce simmer for 10-15 minutes to deepen the flavors. If the sauce thickens too much, add a splash of reserved pasta water.
Transfer the cooked penne pasta to a large mixing bowl. Add the beef and tomato sauce mixture and stir gently until every piece of pasta is coated.
Add the ricotta cheese to the pasta mixture and fold it in gently, preserving the creamy texture. Pour half of the pasta mixture into the prepared baking dish. Sprinkle half of the shredded mozzarella and Parmesan over the first layer. Add the remaining pasta mixture on top, and finish with the rest of the mozzarella and Parmesan cheeses evenly spread on the surface.
Preheat your oven to 375°F (190°C). Bake the pasta dish uncovered for 20-25 minutes or until the cheese is melted and bubbly with a golden crust. For an extra golden top, switch the oven to broil for the last 2-3 minutes—but watch it closely to avoid burning.
Remove from the oven and let it rest for 5 minutes. Garnish with fresh basil leaves if desired. Serve warm and enjoy the rich, cheesy goodness!