Bring a large pot of water to a boil and salt it generously. This is your opportunity to season the pasta itself, so don't be shy with the salt.
Heat 2 tablespoons of olive oil in a large skillet over medium-high heat. Add the ground beef and cook, breaking it apart with a wooden spoon, until browned and no longer pink (about 5-6 minutes). Transfer to a plate using a slotted spoon.
Add the remaining 2 tablespoons of olive oil to the same skillet. Add the onions and cook until softened and translucent, about 3-4 minutes.
Add the minced garlic and red pepper flakes to the onions and cook for just 30-60 seconds until fragrant. Be careful not to burn the garlic or it will become bitter.
Return the cooked beef to the skillet and add the crushed tomatoes, tomato paste, oregano, and basil. Stir well to combine all ingredients.
Reduce heat to medium-low and simmer the sauce for 10-15 minutes, allowing the flavors to meld together. The sauce should thicken slightly but remain relatively loose.
Meanwhile, cook the penne pasta in the boiling water according to package directions until al dente (usually 9-11 minutes). Reserve ½ cup of pasta water before draining.
Drain the pasta and immediately add it to the sauce. Toss well to coat, adding a splash of reserved pasta water if needed to loosen the sauce.
Season with salt and pepper to taste, then sprinkle with fresh parsley.
Serve immediately with freshly grated Parmesan cheese on top.