In a large skillet over medium heat, saute the onion in olive oil until translucent. Add the sausage, and crumble with a fork. When cooked through, add the tomatoes, salt and pepper. Simmer for 15 minutes until slightly reduced.
Meanwhile, bring a large pot of salted water to a boil. Cook the pasta until very al dente (half of the package instructions time). Drain.
In a large baking dish, add the pasta, then the sausage mixture, and the mozzarella. Mix well. Sprinkle top with Parmigiano.
Preheat the oven to 350 degrees. Bake the pasta for about 30 minutes, until the top is golden brown.