England forward Gordon tapped home Jacob Murphy's cross to give the hosts a half time lead at St. James' Park - and become the first United player to score in three consecutive Champions League appearances in the process.
Barnes made the points safe on 70 minutes with a finish that owed much to an outrageous long throw from goalkeeper Nick Pope, who picked out the winger with precision from his own penalty area.
And Gordon rounded off a terrific performance by setting up Barnes' second with a neat through ball in the closing stages, as Eddie Howe's charges saw off José Mourinho's Portuguese giants to make it two wins from three in the competition so far.
Both sides could feasibly have struck at least twice before the opener arrived. Nick Woltemade, in form at the point of United's attack, sent a pass down the line for Murphy, whose low ball in would have found Jacob Ramsey were it not for a last-ditch intervention from António Silva. From the resulting corner from Bruno Guimarães, Dan Burn saw his back post header blocked and then scrambled away by Mourinho's men.
The man most likely to find a breakthrough in the visitors' line-up was the dangerous Dodi Lukébakio, who stole in behind Burn on the left to bring down a long ball and force Pope into a smart stop from a tight angle, with the Magpies stopper saving with the underside of his left arm.
Vangelis Pavlidis hit the sidenetting after another aerial assault on the hosts' backline, but Benfica went even closer soon after when Lukébakio whipped an effort onto the outside of Pope's upright; to home supporters in the Milburn Stand, it looked as if it was curling in.
Murphy, who had an early effort saved by Anatoliy Trubin, flashed one just off target before registering an assist for the opener. Similar to the earlier chance he almost created for Ramsey, he was played in down the right by Guimarães this time, and his centre was bounced home by the unmarked Gordon in the middle.
Lukébakio tried his luck again just before the break by trying to catch Pope out by going for the near post, but the 33-year-old was equal to it, springing to his left to turn it away. He hit another after the restart but Sven Botman did well to block it before it required more work from Pope.
German forward Woltemade struck his fifth Newcastle goal in the weekend defeat at Brighton and was impressing again with his deft touch and link-up play. His deflected shot brought a corner which Kieran Trippier floated onto the head of Lewis Miley, who probably should have scored with a header. Murphy's fizzing drive then brought a save from Trubin but the game remained open, with Enzo Barrenechea blazing a 25-yarder over after a swift counter.
Guimarães saw a penalty appeal waved away after turning Fredrik Aursnes and going to ground, but it mattered little as minutes later the Magpies got the second goal which made the points safe. The assist was a superb one and it came from Pope; his throw to meet Barnes' run cleared his own half and sent the substitute one-on-one with Trubin, and his finish across goal clipped the post on its way in. Pope was congratulated by his teammates just as much as Barnes was, and deservedly so.
Gordon, a constant threat on the flank and the contest's stand-out performer, almost created a third for Joelinton with an inswinging cross that the Brazilian glanced just wide.
But inside the last ten minutes he did make another goal, threading a pass through for Barnes to slide home United's third to cap a fine individual display and an important victory for Howe's side, which could even have been by a greater margin had Trubin not produced two late saves in the final seconds.