Preheat the oven to 350 degrees . In a large, deep skillet, heat 2 tablespoons olive oil over medium heat. Add the onion and half of the garlic and cook until translucent, about 6 minutes. Push the onion to the sides of the pan and increase the heat to medium-high. Add the ground meat and cook, stirring occasionally, until browned, about 15 minutes. Remove from the heat and let cool.
In a large pot of boiling salted water, cook the pasta for 6 minutes. Drain the pasta and rinse with cold water to stop the cooking. Spread the cooked pasta shells on a paper-towel- lined baking sheet and let cool. When cool, split open the pasta tubes lengthwise.
In a large bowl, combine the ricotta, eggs, 1/4 cup Asiago cheese, the parsley, 3/4 teaspoon salt and 1/2 teaspoon pepper. Fold in the meat mixture.
Puree the tomatoes in a blender or food processor until smooth. In a medium skillet, cook the remaining garlic in the remaining 1 tablespoon olive oil over medium heat until soft, about 2 minutes. Add the pureed tomatoes, the basil and the remaining 1/4 cup Asiago cheese and simmer for 5 minutes. Spread half the sauce on the bottom of a sturdy rimmed baking sheet.
Stuff the pasta shells with 3 tablespoons of the meat-and-cheese mixture, and slightly overlap the edges to enclose the stuffing. Place the cannelloni seam side down on the sauce and top with the remaining tomato sauce and the sliced mozzarella. Bake for 25 minutes.