Preheat an oven to 350ºF.
Bring a large pot two-thirds full of salted water to a boil. Add the rigatoni, stir well and cook until al dente (tender but firm to the bite), about 15 minutes or according to the package instructions. Drain the rigatoni, place in a large bowl and toss with a little olive oil to prevent sticking. Set aside.
In the same pot, heat the 2 Tbs. olive oil over medium-high heat. Add the onion and garlic and cook, stirring, until soft, about 5 minutes. Add the beef and cook, stirring to break up the meat, until no pink remains, about 10 minutes. Drain off any fat. Add the parsley, oregano and tomatoes and stir well. Bring to a boil, then reduce the heat to low and simmer, uncovered, until the tomatoes break down and the flavors have melded, about 20 minutes. Stir in the cream, raise the heat and return to a boil. Remove from the heat and season with salt and pepper. Return the rigatoni to the pot with the sauce and toss to coat well.
Oil the bottom of a shallow 3-quart baking dish. Spread half of the pasta mixture in the bottom of the dish. Sprinkle with half of the mozzarella. Top with the remaining pasta, the remaining mozzarella and the Parmesan. Bake until the sauce is bubbly and the top is crusty and golden brown, about 35 minutes. Remove from the oven, let stand for about 5 minutes and serve.