Heat olive oil in a large pot over medium heat. Add the diced onion and minced garlic, cooking until the onion is translucent.
Add ground beef or Italian sausage to the pot. Cook until browned and no longer pink, breaking it up as it cooks.
Stir in the marinara sauce, water, Italian seasoning, and red pepper flakes. Bring to a simmer.
Add the uncooked penne pasta, ensuring it's covered by the sauce. Reduce heat to low and cover the pot. Simmer for 15-20 minutes, stirring occasionally, until pasta is cooked to your liking.
Stir in the mozzarella cheese and sliced pepperoni. Cook until the cheese is melted.
Serve warm, garnished with grated Parmesan cheese and chopped fresh basil.
Notes
Feel free to add your favorite pizza toppings such as mushrooms, olives, or bell peppers.