Cook the fusilli in a large pot of salted boiling water according to the package directions until al dente. Reserve about 1 cup of pasta water, then drain without rinsing.
While the pasta cooks, heat the olive oil in a large skillet over medium heat. Add the onion and cook for 4 to 5 minutes, until soft and translucent.
Add the garlic and cook for 30 seconds. Stir in the tomato paste and cook for 1 minute, stirring constantly so it does not burn.
Add the crushed tomatoes, oregano, basil, black pepper, and optional red pepper flakes. Simmer gently for 10 to 12 minutes. Season with salt and add the optional sugar only if the sauce tastes too sharp.
Add the drained fusilli to the sauce and toss well. Add the reserved pasta water a little at a time if needed, then cook together over low heat for 1 to 2 minutes.
Turn off the heat and stir in half of the mozzarella and Parmesan. Divide between four plates, then top with the remaining cheese and fresh parsley. Serve warm.