Bring a large pot of water to a boil. Cook the macaroni according to the package directions. Drain and let cool, then transfer to a large bowl.
In a medium saucepan, heat the soup over medium heat, stirring often to prevent scorching. Whisk in the Cheddar and Swiss, followed by the truffle oil. Add a splash of water if it gets too thick.
Add the celery and allspice to the bowl of macaroni, then gradually pour over the cheese sauce--you can use less or more sauce depending on how creamy you want the casserole. Season with salt and pepper and fold together.
Transfer the mixture to a 9-by-13-inch baking dish and cover with the onions. Bake until the sides are bubbly and the interior is very hot, about 30 minutes. Serve.