Cook the potatoes according to package directions. Use a ricer or fork to blend (do not mash). Some small pieces of the potatoes should remain. Transfer to a bowl and set aside.
In the same skillet, fry the bacon over medium low heat until crisp, about 15 minutes. Remove the bacon to a paper towel lined plate to drain. Reserve half of the bacon grease in the skillet and discard the rest. When bacon cools, crumble, transfer to a bowl and set aside.
Heat the remaining bacon grease in the skillet over medium low heat, add the onions and saute until carmelized, about 15-20 minutes. Transfer 1 cup to a bowl and set aside. Reserve the remaining onions in a seperate bowl.
Bring a large pot of water to a boil. Add the pasta shells and following package directions, cook al dente; about 10 minutes. Drain and rinse under cold water.
Combine the crumbled bacon and 1 cup of the carmelized onions in the bowl with the potatoes. Add in 1 cup of the cheese and stir to blend.
Add the remaining 1/4 cup cheese to the reserved onions, stir to blend and set aside.
Lightly grease a 9inch x 13inch baking dish. Stuff each shell with a portion of the potato mixture and place in the dish. Cover the dish with aluminum foil and bake in a preheated oven at 350 degrees for 20 minutes.
Remove from the oven, uncover and place a dollup of the reserved cheese and onion mixture on top of each shell.
Return to the oven uncovered and bake for an additional 10 minutes or place under the broiler (low) for 5 minutes.
Remove from the oven, place 3 shells on each plate and serve.