Heat oven to 400 degrees. Oil a large 9x13 baking dish.
In a large frying pan, heat the oil over moderately low heat. Add the onion and cook, stirring ocassional until it starts to soften, about 3 minutes. Stir in the ground meat and cook, breaking it up, until browns, about 2 minutes. Drain off any excess fat.
Add the tomatoes and salt to the pan and bring to a simmer. Cook until most of the liquid evaporates, about 10 minutes. Remove from heat and stir in the pesto.
Meanwhile, cook the shells in a large pot of salted, boiling weater until just done, about 10 minutes. Drain and toss with the sauce. Put half of the pasta into the prepared baking dish and top with half the mozzarella and 2 tablespoons of Parmesan. Repeat with the remaining pasta, mozzarella, and Parmesan. Bake until bubbling, about 15 minutes.