1. Preheat oven to 350°. Cook sausage and garlic in hot oil in a large skillet over medium-high heat 5 to 7 minutes or until sausage crumbles and is no longer pink. Remove with a slotted spoon, reserving drippings in skillet. Drain sausage mixture on paper towels, and transfer to a medium bowl. Stir marinara sauce and 1/2 tsp. salt into sausage mixture.
2. Sauté onion and next 3 ingredients in hot drippings 5 minutes or until tender; stir in olives and chopped pepperoni. Reserve 1/4 cup onion mixture.
3. Prepare pasta according to package directions in a large Dutch oven.
4. Melt butter in a heavy saucepan over low heat; whisk in flour until smooth. Cook, whisking constantly, 1 minute. Gradually whisk in half-and-half; cook over medium heat, whisking constantly, 7 to 10 minutes or until mixture is thickened and bubbly. Stir in fresh mozzarella cheese, Parmesan cheese, pepper, and remaining 1/2 tsp. salt. Pour sauce over pasta in Dutch oven, stirring to coat. Stir in onion mixture.
5. Transfer pasta mixture to a lightly greased 13- x 9-inch baking dish, and top with sausage mixture, packaged mozzarella cheese, reserved 1/4 cup onion mixture, and pepperoni slices.
6. Bake at 350° for 30 minutes or until cheese is melted and lightly browned. Let stand 5 minutes before serving.